私もこの問題を抱えていました。
このブログ投稿に基づいて、ActivityGroup コードを使用していました。
戻るボタンを押すと、前のビューは正常にロードされましたが、それに関連付けられたアクティビティはonResume()
.
on overridden と public で拡張アクティビティを使用していましたonResume()
。
このブログ投稿を見つけたので、ビューを拡張アクティビティとしてキャストして、 を呼び出してみonResume()
ました。
ビンゴ。
編集....ここにいくつかの詳細があります...
public class YFIMenuListActivity extends ListActivity {
....
@Override
public void onResume() {
super.onResume();
}
....
}
onResume()
通常は保護されていますが、オーバーライドして公開し、ActivityGroup から呼び出せるようにします。このアクティビティ グループには拡張リスト アクティビティしかありません (遊んでいただけです)。異なるアクティビティがある場合は、それぞれをオーバーライドする必要があります。キャストして呼び出す前に、onResume()
取得したコンテキストのタイプを確認する必要があると思います。v.getContext()
私のActivityGroupは次のようになります。
public class BrowseGroup extends ActivityGroup {
.....
@Override
protected void onResume() {
super.onResume();
// call current activity's onResume()
View v = history.get(history.size()-1);
YFIMenuListActivity currentActivity = (YFIMenuListActivity)v.getContext();
currentActivity.onResume();
}
....
}