以下の症状で Eventbus に問題があります。別のアクティビティを開始するアクティビティがあります。Eventbus とブール値セットが使用されます。この値は、アクティビティの実行中に変更されます。最初の実行ではすべて問題ありませんが、2 回目の実行では、前回の実行で不適切な値が変更されました。コードは次のとおりです。
public class ListArchiveTabs extends FragmentActivity {
private boolean isStartFragment = true;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
isStartFragment = true;
EventBus.getDefault().registerSticky(this);
System.out.println("Create archive activity " + isStartFragment);
}
@Override
public void onDestroy()
{
super.onDestroy();
EventBus.getDefault().unregister(this);
System.out.println("Destroy archive activity");
}
public void onEventMainThread(GetArchiveEvent event)
{
if(isStartFragment == true) {
isStartFragment = false;
} else {
}
}
}
最初の実行では isStartFragment は true ですが、他の実行では false が表示されます。