【发布时间】:2014-09-02 15:10:13
【问题描述】:
我的 MainActivity 中有这段代码:
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView=null;
if (getArguments().getInt(ARG_SECTION_NUMBER)==1){
rootView = inflater.inflate(R.layout.fragment_main, container, false);
final Button newProdButton = (Button) rootView.findViewById(R.id.new_prod_button);
newProdButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent (getActivity(), NewProdActivity.class);
startActivityForResult (intent, OK_NEW_PRODUCT);
}
});
然后:
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode==OK_NEW_PRODUCT){
if (resultCode == Activity.RESULT_OK) {
Intent intent = new Intent (MainActivity.this, ProductActivity.class);
startActivity(intent);
}
}
}
目的是在第一个活动结束时启动第二个活动,以防后者成功执行所有操作。
但是,当我结束第一个任务时,什么也没有发生,应用程序仍保留在 MainActivity 上。为什么?
【问题讨论】:
-
你试过 =>resultCode == RESULT_OK 而不是 resultCode == Activity.RESULT_OK 吗?
-
添加一些登录onActivityResult方法以确保程序在完成第一个活动时已经运行。如果没有,请在完成第一个活动时调用setResult方法。
-
我问你一些事情只是为了确认,你确定你的第一个活动是一个活动而不是一个片段吗?
-
我认为它是一个片段
-
@Simone11489 : 请让我们知道它是否是一个片段,即它是扩展
Activity类还是Fragment类?
标签: android android-activity startactivityforresult