【发布时间】:2018-04-08 20:37:49
【问题描述】:
我有一个片段的活动,然后那个片段调用一些活动,该活动将为第一个活动提供一些价值。我使用 onActivityResult 但我不知道为什么 resultCode 总是 0 而 data 总是 0,。
关于我的活动一
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Log.d(TAG, "onActivityResult: "+ requestCode +" "+resultCode+" "+data);
}
活动一有一些fragmentX调用活动二
private final int REQUEST_CODE = 10;
private void start (){
Intent intent = new Intent(getContext(),Main2Activity.class);
intent.putExtra("xxx","test1");
getActivity().startActivityForResult(intent,REQUEST_CODE);
}
然后在活动二中,当我触摸 onBackpress 时,将传递一些值。
public class Main2Activity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
}
@Override
public void onBackPressed() {
super.onBackPressed();
Intent intent = getIntent().putExtra("yyy","test2");
setResult(RESULT_OK,intent);
}
}
但是,我不知道为什么,onActivityResult 我无法获取数据。 我的最终目的是,我想将该数据设置为 fragmentX。
【问题讨论】:
-
你必须将结果从活动传递到片段
-
对不起,我还不清楚。
-
先删除 super.onBackPressed();来自onbackpressed的行,然后检查
-
如果我删除 super.onBackPressed UI 将不会更改为第一个 Activity。
标签: android null onactivityresult