使用Intent实现界面之间双向数据通信

来源:互联网 发布:最后的幸存者 小说知临 编辑:程序博客网 时间:2024/05/06 00:01

记得有一次为了从一个界面将数据回传到另一个界面,花了好长时间,今天书上看见了这个列子,写一下:

mainActivity.java

 

public class MainActivity extends Activity {private Button bn;private TextView text;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        bn=(Button)findViewById(R.id.bn);        text=(TextView)findViewById(R.id.text);        bn.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO 自动生成的方法存根Intent it=new Intent(MainActivity.this,Receive.class);it.putExtra("love","sll");//启动Recevie的界面,使用startActivityForResult是为了可以回传MainActivity.this.startActivityForResult(it, 1);}});    }    @Override    public boolean onCreateOptionsMenu(Menu menu) {        // Inflate the menu; this adds items to the action bar if it is present.        getMenuInflater().inflate(R.menu.main, menu);        return true;    }    //对回传回来的数据进行处理    protected void onActivityResult(int requestCode,int resultCode,Intent date){    switch(resultCode){    case RESULT_OK:    text.setText("I LOVE Sll");break;    case RESULT_CANCELED:    text.setText("cancel");break;    default:    break;        }    }    }


Receive.java

public class Receive extends Activity {private TextView text;private Button bn;public void onCreate(Bundle saveInstanceState){super.onCreate(saveInstanceState);super.setContentView(R.layout.activity_receive);text=(TextView)findViewById(R.id.show);bn=(Button)findViewById(R.id.back);Intent it=super.getIntent();String inf=it.getStringExtra("love");text.setText(inf);bn.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO 自动生成的方法存根//将需要回传的信息存放到intent中Receive.this.getIntent().putExtra("name", "qianhao");//设置返回数据的状态,RESULT_OK与MainActivity中的onActivityResult对应Receive.this.setResult(RESULT_OK, Receive.this.getIntent());Receive.this.finish();}});}

 


public class Receive extends Activity {private TextView text;private Button bn;public void onCreate(Bundle saveInstanceState){super.onCreate(saveInstanceState);super.setContentView(R.layout.activity_receive);text=(TextView)findViewById(R.id.show);bn=(Button)findViewById(R.id.back);Intent it=super.getIntent();String inf=it.getStringExtra("love");text.setText(inf);bn.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO 自动生成的方法存根//将需要回传的信息存放到intent中Receive.this.getIntent().putExtra("name", "qianhao");//设置返回数据的状态,RESULT_OK与MainActivity中的onActivityResult对应Receive.this.setResult(RESULT_OK, Receive.this.getIntent());Receive.this.finish();}});}}


 

 

0 0
原创粉丝点击