So ändern Sie Fragmente mithilfe der Android-Navigationsleiste

Ich weiß, dass diese Art von Fragen bereits hier war, aber ich habe immer noch keine Antwort auf diese Frage gefunden:

Ich habe eine Anwendung erstellt und die Navigationsleiste verwendet, die AUTOMATISCH von der App erstellt wurde (AndroidStudio).

Folgendes habe ich:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    mNavigationDrawerFragment = (NavigationDrawerFragment)
            getFragmentManager().findFragmentById(R.id.navigation_drawer);
    mTitle = getTitle();

    // Set up the drawer.
    mNavigationDrawerFragment.setUp(
            R.id.navigation_drawer,
            (DrawerLayout) findViewById(R.id.drawer_layout));
}

@Override
public void onNavigationDrawerItemSelected(int position) {
    // update the main content by replacing fragments
    FragmentManager fragmentManager = getFragmentManager();
    fragmentManager.beginTransaction()
            .replace(R.id.container, PlaceholderFragment.newInstance(position + 1))
            .commit();
}

public void onSectionAttached(int number) {
    switch (number) {
        case 1:

            break;
        case 2:

            break;
        case 3:

            break;
    }
}

Und noch mehr hier:

    public static PlaceholderFragment newInstance(int sectionNumber) {
        PlaceholderFragment fragment = new PlaceholderFragment();
        Bundle args = new Bundle();
        args.putInt(ARG_SECTION_NUMBER, sectionNumber);
        fragment.setArguments(args);
        return fragment;
    }

    public PlaceholderFragment() {
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.fragment_main, container, false);
        return rootView;
    }

    @Override
    public void onAttach(Activity activity) {
        super.onAttach(activity);
        ((MainActivity) activity).onSectionAttached(
                getArguments().getInt(ARG_SECTION_NUMBER));
    }
}

Ich möchte ein anderes Fragment mit der Schaltfläche in der Navigationsleiste anzeigen. Ich möchte diesen Code verwenden, bitte senden Sie mir keine Anleitungen oder Tutorials zu, die ihre eigenen Schubladen erstellen.

Die Frage ist, was man reinstecken sollcase 1: case 2: undcase 3: falls ich ein anderes fragment öffnen will? Vielen Dank.

Noch eine Frage:

Wie füge ich weitere Fragmente und Transaktionen hinzu? Das funktioniert nicht-

Fragment fragment = new MyFragment1();
Fragment frag = new MyFragment2();
FragmentManager fragmentManager = getFragmentManager();
switch(position) {
    case 0:
        fragment = new MyFragment1();
        break;
    case 1:
        frag = new MyFragment2();

        break;
}
fragmentManager.beginTransaction()
        .replace(R.id.container, fragment).commit();

}

Antworten auf die Frage(5)

Ihre Antwort auf die Frage