我有這樣的代碼我的MainActivity內:安卓:startActivityForResult在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上。
任何人都知道爲什麼?!
編輯
解決了:
getActivity().startActivityForResult (intent, OK_NEW_PRODUCT);
你試過=> resultCode爲的== RESULT_OK代替resultCode爲== Activity.RESULT_OK? – Jamil 2014-09-02 15:22:49
在onActivityResult方法中添加一些日誌以確保程序在執行第一個活動時運行。如果沒有,請在完成第一個活動時確定調用setResult方法。 – UperOne 2014-09-02 15:23:47
Lemme問你一些事情只是爲了確認,你確定你的第一個活動是一個活動,而不是一個片段? – 2014-09-02 15:25:16