[Android Studio] -- Day 3 Activity练习

前言

今天将针对activity的跳转来複习複习


正文

这次採用bundle来传值,并区分startActivity()和startActivityForResult()

startActivity()

从Activity1跳转到Activity2

Activity1
按下按钮后进行跳转
button.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                temp = editText.getText().toString();                bundle.putString("input",temp);                intent.putExtras(bundle);                startActivity(intent);            }        });
Activity2
显示文字,按下按钮后返回(关闭Activity2)
        textView=findViewById(R.id.Text);        button=findViewById(R.id.b2);        Bundle bundle=this.getIntent().getExtras();        String msg=bundle.getString("input");        textView.setText(""+msg);        button.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                finish();            }        });

http://img2.58codes.com/2024/20134772o934jNtw1Z.pnghttp://img2.58codes.com/2024/201347722asR7WIx1j.png

startActivityForResult()

从Activity1跳转到Activity2并等待Activity2结果

Activity1
按下按钮后进行跳转
button.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                temp = editText.getText().toString();                bundle.putString("input",temp);                intent.putExtras(bundle);                //更改                startActivityForResult(intent,0);            }        });

用来接收Activity2回传回来的值,显示在textView上

@Override    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {        super.onActivityResult(requestCode, resultCode, data);        //333是自订义,要跟Activity2一样就行        if(resultCode==333){            Bundle bundle=data.getExtras();            String msg=bundle.getString("input");            textView.setText(""+msg);        }    }
Activity2
显示文字,按下按钮把刚刚放在intent的东西传过去Activity1后关闭Activity2
        button.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                MainActivity2.this.setResult(333,intent);                finish();            }        });

http://img2.58codes.com/2024/20134772Rp3vF52XSv.png


结语

intent是要出国的你,bundle是行李箱。

将东西(temp)放进(put)行李箱里,放进去要知道她叫甚么("input")
bundle.putString("input",temp);行李箱跟你走,行李箱放进你手里面
intent.putExtras(bundle);要出国了喔,不带东西回家
startActivity(intent);要出国了喔,带东西回家
startActivityForResult(intent,0);到家,拿对箱子(resultCode)再开箱
onActivityResult()

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章