我有一個擴展DashboardActivity類的MainActivity類。在主活動類中有頂級操作欄,點擊時會進入AddReminderActivity類。頂部操作欄的作用是在Dashboard活動課定義爲
private void createReminder() {
// TODO: fill in implementation
Intent intent = new Intent(DashboardActivity.this,AddReminderActivity.class);
Log.i("in OnActivityResult", "create reminder called");
startActivityForResult(intent, ACTIVITY_CREATE);
Log.i("in OnActivityResult", "Start Activity called Result");
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
Log.i("in OnActivityResult", "Activity Result" + resultCode);
super.onActivityResult(requestCode, resultCode, intent);
Log.i("in OnActivityResult", "Activity Result" + resultCode);
Log.i("in OnActivityResult", "intent Result" + intent.getExtras());
Bundle extras = intent.getExtras();
Toast.makeText(getApplicationContext(),resultCode, Toast.LENGTH_SHORT).show();
switch(requestCode){
case ACTIVITY_CREATE:
if (resultCode == Activity.RESULT_OK) {
String title = extras.getString(ReminderDBAdapter.KEY_REMINDER_TITLE);
String content = extras.getString(ReminderDBAdapter.KEY_REMINDER_CONTENT);
mDbHelper.createReminder(title, content);
mDbHelper.close();
}
startActivity(new Intent(this,ListReminder.class));
break;
}
// TODO: fill in rest of method
}
在AddReminderActivityClass我呼籲
btnSubmitReminder.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Bundle bundle = new Bundle();
bundle.putString(ReminderDBAdapter.KEY_REMINDER_TITLE, mReminderTitle.getText().toString());
bundle.putString(ReminderDBAdapter.KEY_REMINDER_CONTENT, mReminderContent.getText().toString());
if(mRowId != null){
bundle.putLong(ReminderDBAdapter.KEY_ROWID, mRowId);
}
System.out.println(mReminderTitle.getText().toString());
Toast.makeText(getApplicationContext(), mReminderTitle.getText().toString(), Toast.LENGTH_SHORT).show();
Intent mIntent = new Intent();
mIntent.putExtras(bundle);
//setResult(RESULT_OK, mIntent);
if (getParent() == null) {
setResult(DashboardActivity.RESULT_OK, mIntent);
} else {
getParent().setResult(DashboardActivity.RESULT_OK, mIntent);
}
Log.i("in OnActivityResult", "set result" +RESULT_OK);
finish();
}
});
但返回時回OnActivityResult意圖返回null,下面出現異常。我認不出是什麼問題
05-16 17:25:09.686: ERROR/AndroidRuntime(441): FATAL
例外:主05-16 17:25:09.686: ERROR/AndroidRuntime(441): 了java.lang.RuntimeException:失敗 交付結果ResultInfo {誰= NULL, 請求= 0,結果= -1,數據=意向{ (具有額外)}}到活動 {com.babz.android.businessReminder/com.babz.android.businessReminder.MainActivity}: 機器人.content.res.Resources $ NotFoundException: 字符串資源ID#0xffffffff 05-16 17:25:09.686: 錯誤/ AndroidRuntime(441):在 android.app.ActivityThread.deliverResults(ActivityThread.java:3515) 05-16 17:25:09.686: ERROR/AndroidRuntime(441):at android.app.ActivityThread.handleSendResult(ActivityThread.java:3557) 05-16 17:25:09.686: ERROR/AndroidRuntime(441):在 android.app.ActivityThread.access $ 2800(ActivityThread.java:125) 05-16 17:25:09.686: ERROR/AndroidRuntime(441):在 android.app.ActivityThread $ H.handleMessage(ActivityThread.java:2063) 05-16 17:25:09.686: ERROR/AndroidRuntime (441):at android.os.Handler.dispatchMe ssage(Handler.java:99) 05-16 17:25:09.686: ERROR/AndroidRuntime(441):at android.os.Looper.loop(Looper.java:123) 05-16 17:25: 09.686: ERROR/AndroidRuntime(441):在 android.app.ActivityThread.main(ActivityThread.java:4627) 05-16 17:25:09.686: ERROR/AndroidRuntime(441):在 java.lang中。反應。方法.invokeNative(原生 方法)05-16 17:25:09.686: 錯誤/ AndroidRuntime(441):在 java.lang.reflect.Method.invoke(Method.java:521) 05-16 17 :25:09.686: 錯誤/ AndroidRuntime(441):在 com.android.internal.os.ZygoteInit $ MethodA ndArgsCaller.run(ZygoteInit.java:868) 05-16 17:25:09.686: ERROR/AndroidRuntime(441):在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 05 -16 17:25:09.686: ERROR/AndroidRuntime(441):在 dalvik.system.NativeStart.main(母語 方法)05-16 17:25:09.686: ERROR/AndroidRuntime(441):通過引起: android.content.res.Resources $ NotFoundException: 字符串資源ID#爲0xffffffff 05-16 17:25:09.686: ERROR/AndroidRuntime(441):在 android.content.res.Resources.getText(參考資料。的java:201) 05-16 17:25:09.686: ERROR/AndroidRuntime(441):在 android.widget.Toast.makeText(Toast.java:258) 05-16 17:25:09.686: ERROR/AndroidRuntime(441):at com.babz.android.businessReminder.DashboardActivity.onActivityResult(DashboardActivity.java:68) 05-16 17:25:09.686: ERROR/AndroidRuntime(441):at android.app。 Activity.dispatchActivityResult(Activity.java:3890) 05-16 17:25:09.686: ERROR/AndroidRuntime(441):在 android.app.ActivityThread.deliverResults(ActivityThread.java:3511)
setResult方法已在條件語句中調用。 – user755552 2011-05-22 03:56:36