Android中onActivityResult()使用
从FirstActivity跳到SecondActivity,在SecondActivity中进行了操作并返回到FirstActivity。
FirstActivity中的主要代码:
private static final int REQUEST_CODE = 1;
private static final int RESULT_CODE = 111;
//触发事件
public void gotoSencond(){
Intent intent=new Intent(this,SecondActivity.class);
startActivityForResult(intent, REQUEST_CODE);
}
//onActivityResult()方法中的第二个参数就是SecondActivity传回来的键,第三个参数就是SecondActivity传回来的键对应的值。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode==REQUEST_CODE) {
if(resultCode==RESULT_CODE) {
String result=data.getStringExtra("second");//取得SecondActivity返回的内容
textView.setText(result);
}
}
super.onActivityResult(requestCode, resultCode, data);
}
SecondActivity 类中的代码:
public void onItemClick(AdapterView<?> parent, View view, final int position, long id) {
runOnUiThread(new Runnable(){
final int RESULT_CODE=111;
@Override
public void run(){
Intent intent = new Intent();
intent.putExtra("function_test",datas.get(position));
// intent.putExtra("function_test",position + "--" + datas.get(position));
Log.i("TAG", "run: ++++"+ datas.get(position));
setResult(RESULT_CODE, intent);
finish();
}
});
}