0

他のフラグメントとは異なり、onCreateOptionsMenu() をまったくトリガーしないフラグメントの 1 つで問題が発生しました。例外も特定のトレースもありません。 setHasOptionsMenu(true) メソッドを使用します。

package fr.test.test.fragment;

import android.app.ActionBar;
import android.support.v4.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.View;
import android.view.ViewGroup;

import fr.test.test.MainActivity;
import fr.test.test.listener.FragmentTabListener;
import fr.test.test.R;

public class TestFragment extends Fragment {

    private ActionBar.Tab Tab1, Tab2;
    private Fragment fragmentTab1;
    private Fragment fragmentTab2;
    private ActionBar actionBar;

    public TestFragment() {

        fragmentTab1 = new Fragment1();
        fragmentTab2 = new Fragment2();
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

        View rootView = inflater.inflate(R.layout.fragment_messages, container, false);
        setHasOptionsMenu(true);

        actionBar = getActivity().getActionBar();
        actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

        Tab1 = actionBar.newTab().setText(R.string.title_fragment1);
        Tab2 = actionBar.newTab().setText(R.string.title_fragment2);

        Tab1.setTabListener(new FragmentTabListener(getActivity(), fragmentTab1));
        Tab2.setTabListener(new FragmentTabListener(getActivity(), fragmentTab2));

        actionBar.removeAllTabs();
        actionBar.addTab(Tab1);
        actionBar.addTab(Tab2);

        return rootView;
    }

    @Override
    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
        System.out.println("onCreateOptionsMenu TRIGGER ME PLZ :( ");
        inflater.inflate(R.menu.global, menu);
    }
}

他のフラグメントがこのイベントをトリガーするため、問題はメニューから発生しません。そのため、このケースについてはわかりません。まったく同じロジックを使用しますが、タブではなく ActionBar からの標準ナビゲーションを使用します。何か案は ?

見てくれてありがとう、

よろしく。

4

0 に答える 0