Intent学习笔记

来源:互联网 发布:ping远程ip的8080端口 编辑:程序博客网 时间:2024/06/11 12:20
IntentIntent(意图)可以理解为信使由Intent来协助完成Android各个组件之间的通讯Intent实现页面跳转1. startActivity(intent) 直接从当前页面跳转到另一页面
private Button button;private  Button button2;@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    button=(Button)findViewById(R.id.button);    button.setOnClickListener(new View.OnClickListener() {        @Override        public void onClick(View v) {            /*            第一个对象:上下文对象,this;                        1__Intent intent =new Intent(MainActivity.this,Main22Activity.class);                        2__初始化全局变量                        private Contex m;                        m=this;                        Intent intent =new Intent(this,Main22Activity.class);            第二个对象:目标文件;             */            Intent intent =new Intent(MainActivity.this,Main22Activity.class);            startActivity(intent);        }    });
2. startActivityForResult(intent,requestCode);这种方式有返回值。它还需要关联如下两种方法:onActivityResult(int requestCode,int resultCode,Intent data) 通过此方法接收回传的数据。setResult(resultCode,data); 在B页面通过此方法将数据回传给A页面。如图,在A页面启动B页面,B页面的数据可以回传给A页面。
 
private Button button;private TextView textView;@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    button=(Button)findViewById(R.id.button);    textView=(TextView)findViewById(R.id.textView);    button.setOnClickListener(new View.OnClickListener() {        @Override        public void onClick(View v) {            Intent intent = new Intent(MainActivity.this,Main2Activity.class);            startActivityForResult(intent,1);        }    });}@Override/*接受返回数据的方法requestCode:请求的标识;resultCode:第二个页面返回的标识;data:第二个页面返回的数据; */protected void onActivityResult(int requestCode, int resultCode, Intent data) {    super.onActivityResult(requestCode, resultCode, data);    if(requestCode==1 &resultCode==2){        String  content = data.getStringExtra("data");        textView.setText(content);    }
第二个页面回传数据放在TextView
private Button button2;private String content="nihao";
button2=(Button)findViewById(R.id.button2);button2.setOnClickListener(new View.OnClickListener() {    @Override    public void onClick(View v) {        Intent data=new Intent();        data.putExtra("data",content);        setResult(2,data);        finish();    }});

0 0
原创粉丝点击