【发布时间】:2016-05-31 16:16:03
【问题描述】:
我希望能够使用返回按钮或操作栏主页按钮将数据从活动 2 发送回活动 1。
这是我在 Activity 2 中设置后退按钮的方式:
@Override public void onBackPressed() {
String[] userArray = getIntent().getExtras().getStringArray("userArray");
Log.d("Returning user data:", Arrays.toString(userArray));
Intent intent = new Intent();
intent.putExtra("userArray", userArray);
setResult(RESULT_OK, intent);
finish();
}
这是我在活动 1 中收到它的方式:
@Override public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1) {
if(resultCode == getActivity().RESULT_OK){
String[] userArray = data.getExtras().getStringArray("userArray");
Log.d("Retained user data:", Arrays.toString(userArray));
}}}
这是我尝试在活动 2 中设置家庭选择的方法:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
if (id == android.R.id.home){
Toast.makeText(getApplicationContext(), "Saving User Info", Toast.LENGTH_SHORT).show();
super.onBackPressed();
}
return super.onOptionsItemSelected(item);
}
奇怪的是 - toast 有效,但调用 onbackpressed 函数无效。有什么建议吗?
【问题讨论】:
标签: java android android-activity android-actionbar