今天学习了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(); }
點擊查看更多內容
為 TA 點贊
評論
評論
共同學習,寫下你的評論
評論加載中...
作者其他優(yōu)質文章
正在加載中
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦