我有一個處理問題序列的類。它不擴展活動。在階級存在的方法:當父活動作爲參數傳遞給非活動類中的意圖時,onActivityResult不會被finish()調用
public class QuizMaster {
public void startQuiz(Activity activity, Model model) {
//switch - case statement using model
Intent intent = new Intent(activity, QuestionTextActivity.class)
activity.startActivityForResult(intent, requestCode);
//other case statements with other intents
}
}
當我打電話從工作活動此方法
mQuizMaster.startQuiz(this, mModel);
而且我完成()子活動:
Intent returnIntent = new Intent();
returnIntent.putExtra(ARG_SELECTED_CHECKBOX, checkedBox);
setResult(RESULT_CODE, returnIntent);
finish();
它不執行母公司的活動
@Override
protected void onActivityResult(final int requestCode, final int resultCode, final Intent data) {
Log.d(LOG_TAG, "OnActivityResult called in SignDetailsActivity. Resultcode is: ");
}
但是,當我在實際父活動文件執行
Intent intent = new Intent(activity, QuestionTextActivity.class)
activity.startActivityForResult(intent, requestCode);
,它執行onActivityResult方法。
爲什麼不使用非活動類發送的子活動在父活動中運行onActivityResult?我該如何解決?
我還沒有發現任何人在執行新的Intent()這樣的非活動類時遇到同樣的問題。如果有人,我沒有使用正確的搜索關鍵字,其他人可能會像我一樣輸入相同的內容並進入本頁。
新的意圖沒有啓動的活動,必須有像「startActivity」或「startActivityForResult」在你的代碼..你可以請更新您的代碼示例? – Bmuig
對不起,我忘了將這行代碼添加到問題中。 – Janneman96
這是一個帶有7種情況的開關,它們都將不同的孩子分類放在了意圖中。選擇一個後,它總是執行4個inent.putExtra和activity.startActivityForResult(intent,requestCode)。 – Janneman96