您的位置:首页 > 其它

在Activity之间传递数据—获取Activity返回的数据

2015-06-15 22:42 453 查看
在获取返回值时要注意的是打开Activity的方式,用方法:startActivityForResult

接收时,重写方法:onActivityResult

在子Activity中,写数据用方法:setResult

MainActivity代码:


privateTextViewtv;
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

findViewById(R.id.btnStart).setOnClickListener(newView.OnClickListener(){
@Override
publicvoidonClick(Viewview){
Intenti=newIntent(MainActivity.this,OthereActivity.class);
startActivityForResult(i,0);//用这种方式启动接收,第二个为请求码
}
});
}

@Override
protectedvoidonActivityResult(intrequestCode,intresultCode,Intentdata){
super.onActivityResult(requestCode,resultCode,data);

tv=(TextView)findViewById(R.id.textView);

tv.setText("另一个Activity返回的是:"+data.getStringExtra("data"));
}


OtherActivity代码:


privateEditTexteditText;
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_othere);

editText=(EditText)findViewById(R.id.editText);
findViewById(R.id.btnBack).setOnClickListener(newView.OnClickListener(){
@Override
publicvoidonClick(Viewview){
Intentintent=newIntent();
intent.putExtra("data",editText.getText().toString());
setResult(1,intent);//写返回值
finish();//结束掉当前Activity
}
});
}



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: