kann nicht von android.app.FragmentManager zu android.support.v4.app.FragmentManager konvertieren

Lesezeit: 2 Minuten

Benutzer-Avatar
Sakshi

Ich erstelle eine App mit Fragments für Tablets. Ich habe bisher einige Schaltflächen auf der linken Seite erstellt und die Fragmente werden beim Klicken auf die Schaltflächen angezeigt.

Aber ich habe einen Fehler in meiner MainActivity.java-Datei “Type mismatch error:cannot convert from android.app.FragmentManager zu android.support.v4.app.FragmentManager“Und das ist der Hauptgrund, warum ich es nicht implementieren kann. Ich habe bereits importiert android.support.v4.app.FragmentManager.

Wie kann ich mein Problem lösen?

Mein Code für MainActivity.java

      import android.app.Activity;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.view.View;
import android.widget.Button;

public class MainActivity extends Activity {
    Fragment fragment;
    Button btn1,btn2,btn3,btn4,btn5,btn6;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        btn1=(Button)findViewById(R.id.btn1);
        btn2=(Button)findViewById(R.id.btn2);
        btn3=(Button)findViewById(R.id.btn3);
        btn4=(Button)findViewById(R.id.btn4);
        btn5=(Button)findViewById(R.id.btn5);
        btn6=(Button)findViewById(R.id.btn6);

        FragmentManager fm=getFragmentManager();
        FragmentTransaction ft=fm.beginTransaction();

        StartFragment myfragment=new StartFragment();
        ft.add(R.id.myfragment,myfragment);
        ft.commit();
        btn4.setOnClickListener(btnOnClickListener);
        btn5.setOnClickListener(btnOnClickListener);
        btn6.setOnClickListener(btnOnClickListener);
    }



        Button.OnClickListener btnOnClickListener=new Button.OnClickListener(){
            @Override

            public void onClick(View v)
            {
                Fragment newfragment;
                if(v==btn1)
                {
                    newfragment=new Fragment1();
                }
                else if(v==btn2)
                {
                    newfragment=new Fragment2();
                }
                else if(v==btn3)
                {
                    newfragment=new Fragment3();
                }
                else if(v==btn4)
                {
                    newfragment=new Fragment4();
                }
                else if(v==btn5)
                {
                    newfragment=new Fragment5();
                }
                else if(v==btn6)
                {
                    newfragment=new Fragment6();
                }
                else 
                {
                    newfragment=new StartFragment();
                }
                FragmentTransaction transaction=getFragmentManager.beginTransaction();
                transaction.replace(R.id.myfragment,newfragment);
                transaction.addToBackStack(null);
                transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
                transaction.commit();
            }
        };
        }

Benutzer-Avatar
lepoetemaudit

Sie müssen verwenden getSupportFragmentManager() in Ihrem Code, nicht getFragmentManager() – sehen hier für mehr Details.

Sie müssen auch Ihre Klasse von erweitern android.support.v4.app.FragmentActivitynicht nur vom Standard android.Activity um diese Methode zu bekommen.

  • Ja, Sie können verwenden, was David vorgeschlagen hat. Es hat in meinem Fall funktioniert.

    – Abhijit-Chakra

    22. Mai 2013 um 11:31 Uhr

  • Danke David für deine freundliche Hilfe. Es hat funktioniert und jetzt arbeite ich weiter daran.

    – Sakshi

    23. Mai 2013 um 4:57 Uhr

  • Beachten Sie, dass Sie verlängern können ActionBarActivity von deiner Activity jetzt auch.

    – unteilbar

    18. Mai 2014 um 0:08 Uhr


  • Wenn meine Klasse Fragment erweitert und ich einen FragmentPagerAdapter verwende, was soll ich dann tun?

    – ManishSB

    16. Januar 2015 um 18:12 Uhr

  • Danke für die Erklärung

    – Manisha Patel

    3. Juli 2015 um 8:56 Uhr

1130520cookie-checkkann nicht von android.app.FragmentManager zu android.support.v4.app.FragmentManager konvertieren

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy