ListFragment onPrepareOptionsMenu wird vor onCreate aufgerufen. Warum und wie kann ich das Problem beheben / umgehen?

Okay, also habe ich FavoritesList, die GalleryList erweitert und ListFragment erweitert:

public static class FavoritesList extends GalleryList {

    public static FavoritesList newInstance(int page) {
        FavoritesList list = new FavoritesList();

        Bundle args = new Bundle();
        args.putInt("page", page);
        list.setArguments(args);

        return list;
    }

    @Override
    public void onCreate(Bundle saveInstanceState) {
        super.onCreate(saveInstanceState);

        Cursor cursor = dbHelper.getGalleries(fav, preferences.getString("sort"+fav, "date desc"));
        listAdapter = new GalleryListAdapter(activity, cursor);
        setListAdapter(listAdapter);
    }

    ...

    @Override
    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
        super.onCreateOptionsMenu(menu, inflater);
        menu.add(Menu.NONE, 0, 8, "Remove All");
    }

    @Override
    public void onPrepareOptionsMenu(Menu menu) {
        super.onPrepareOptionsMenu(menu);

        //listAdapter is null the first time this is called...

        if (listAdapter != null && listlistAdapter.getCount() == 0) {
            menu.findItem(R.id.filter).setEnabled(false);
            menu.findItem(0).setEnabled(false);
        }
        else {
            menu.findItem(R.id.filter).setEnabled(true);
            menu.findItem(0).setEnabled(true);
        }
    }
}

Hier ist das Problem: onPrepareOptionsMenu wird aufgerufenVor onCreate (wo ich listAdapter initialisiere) beim Laden dieses Fragments und esist nicht erneut aufgerufen, bevor das Optionsmenü zum ersten Mal angezeigt wird!

DasFragmentdokumentation ist einfach falsch wenn es behauptet onPrepareOptionsMenu "heißtkurz bevor Das Menü wird angezeigt.jedes Mal es wird gezeigt."

p.s. Ich benutze die Android Support Library (v4). Irgendwelche Ideen?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage