0
我有一個關於從不同活動中的一個活動調用方法的問題。我有一個使用startActivityForResult的活動,並在第二個活動結束後返回結果,但在第二個活動上調用finish()之前,我想在第一個活動中調用refresh()方法。來自不同活動的調用方法
我最初的想法是作爲額外的意圖傳遞第一個活動,以便我可以引用該活動的方法,但無法看到這是如何完成的。
我有一個關於從不同活動中的一個活動調用方法的問題。我有一個使用startActivityForResult的活動,並在第二個活動結束後返回結果,但在第二個活動上調用finish()之前,我想在第一個活動中調用refresh()方法。來自不同活動的調用方法
我最初的想法是作爲額外的意圖傳遞第一個活動,以便我可以引用該活動的方法,但無法看到這是如何完成的。
爲什麼在完成活動B之前在活動A上調用refresh()
?如果您已經使用startActivityForResult()
開始了活動B,那麼您將在活動A中返回onActivityResult()
。然後您可以在此時致電refresh()
。因此,要舉一個例子:
活動B有:
setResult(RESULT_OK);
finish();
活動A有:
private static final int ACTIVITY_B = 0;
...
Intent intent = new Intent(this, ActivityB.class);
startActivityForResult(intent,ACTIVITY_B);
...
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
super.onActivityResult(requestCode, resultCode, intent);
switch (requestCode){
case ACTIVITY_B:
switch (resultCode){
case RESULT_OK:
refresh();
break;
}
}
}
或者你也可以使用其他的結果代碼信號的其他事件。