IT박스

android.app.FragmentManager에서 android.support.v4.app.FragmentManager로 변환 할 수 없습니다.

itboxs 2020. 11. 13. 07:58
반응형

android.app.FragmentManager에서 android.support.v4.app.FragmentManager로 변환 할 수 없습니다.


저는 태블릿 용 프래그먼트를 사용하여 앱을 만들고 있는데 지금까지 왼쪽에 몇 개의 버튼을 만들었고 버튼을 클릭하면 프래그먼트가 나타납니다.

하지만 내 MainActivity.java 파일 "유형 불일치 오류 :에서 다음 android.app.FragmentManager으로 변환 할 수 없습니다"오류가 발생했습니다. android.support.v4.app.FragmentManager이것이 내가 구현할 수없는 주된 이유입니다 android.support.v4.app.FragmentManager. 이미 가져 왔습니다 .

문제를 어떻게 해결할 수 있습니까?

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();
            }
        };
        }

getSupportFragmentManager()코드에서 사용해야 합니다 . 자세한 내용 getFragmentManager()여기 를 참조하세요.

이 메서드를 얻으려면 android.support.v4.app.FragmentActivity표준뿐만 아니라에서 클래스를 확장해야합니다 android.Activity.

참고URL : https://stackoverflow.com/questions/16690364/cannot-convert-from-android-app-fragmentmanager-to-android-support-v4-app-fragme

반응형