我有2個活動第一個活動細節和第二個活動頁面是confirmationPage,一旦我確認它應該回到第一個頁面,我應該如何處理這種情況?如何實現Activites之間的回撥機制
是否可以在活動之間而不是使用碎片?
我有2個活動第一個活動細節和第二個活動頁面是confirmationPage,一旦我確認它應該回到第一個頁面,我應該如何處理這種情況?如何實現Activites之間的回撥機制
是否可以在活動之間而不是使用碎片?
你必須使用startActivityForResult();方法當你啓動secondActivity。
而且你還必須實現onActivityResult()方法。
這裏是第一個活動的代碼..
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == 1) {
Bundle extra = data.getExtras();
String ID = extra.getString("NameKey").trim();
// do your code here.
}
}
碼在第二活動..
加上確認點擊按鈕的代碼。
Intent i = new Intent();
Bundle extra = new Bundle();
extra.putString("NameKey", KeyValue);
i.putExtras(extra);
setResult(1, i);
finish();
開始confirmationPage的結果通過startActivityForResult(intent, requestCode)
,
下面是一個完整的例子(http://www.vogella.com/articles/AndroidIntent/#usingintents_sub)
我相信調用完成()是向後的活動出來的最簡單的方法。它應該返回到前一個類似於如果你點擊後退按鈕。
編輯:雖然,正如Sirlate所述,但如果您希望返回數據,startActivityForResult可能是您最好的選擇。
這可能有助於你
這一個是FirstActivity
Intent i = new Intent(this, SecondActivity.class);
startActivityForResult(i, 1);
如:與secondActivity如果要發回數據
Intent returnIntent = new Intent();
returnIntent.putExtra("result",result);
setResult(RESULT_OK,returnIntent);
finish();
使用'startActivityForResult();'將響應從您的孩子'Activity'發送給它的父親。 – hardartcore