今天学习了Intent实现两个Activity之间的通信。现将学习过程做一记录,利于后期学习回顾。
1.认识Intent
Intent是Acitivity之间通信的载体。Activity支持的Intent操作方法如下:
public void startActivity(Intent intent)//启动一个Activity,并通过Intent传送数据
public void startActivityForResult(Intent intent,int requestCode)//启动并接收另一个Acitivity程序回传数据,当 requestCode大于0时才可以触发onActivityResult()
protected void onActivityResult(int requestCode,int resultCode,Intent data)//当需要接收Intent回传数据时覆写此方法对回传操作进行处理
Public void finish()//调用此方法会返回之前的Acitivity程序,并自动调用onActivityResult()方法。
2、程序部分
private class OnClickListenerImpl implements View.OnClickListener{//对Button控件的单击监控
public void onClick(View view){
Intent it=new Intent(Intent_MainActivity.this,Receive_java.class);//创建实例化Intent,其中包括两个Activity(Intent_MainActivity和Receive_java) it.putExtra("myinfo","jnsdfef");//附加信息,数据名为myinfo,数据内容为jnsdfef。
Intent_MainActivity.this.startActivityForResult(it,1);//启动Intent
}
}
protected void onActivityResult(int requestCode,int resultCode,Intent data){//覆写onActivityResult方法
switch (resultCode){
case RESULT_OK:
msg.setText("返回的内容是:"+data.getStringExtra("retmsg"));
break;
case RESULT_CANCELED:
msg.setText("操作取消.");
break;
default:
break;
}
}Intent it=super.getIntent();//取得此程序的Intent信息。
String info=it.getStringExtra("myinfo");//取得设置的附加信息。
this.show.setText(info);
this.retbut.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Receive_java.this.getIntent().putExtra("retmsg","yuyanchuan");
Receive_java.this.setResult(RESULT_OK, Receive_java.this.getIntent());
Receive_java.this.finish();
}
随时随地看视频