当前位置: 首页 > 面试题库 >

无法从android.app.FragmentManager转换为android.support.v4.app.FragmentManager

盖高畅
2023-03-14
问题内容

我正在使用Fragments for tablet创建一个应用程序。到目前为止,我已经在左侧创建了一些按钮,并且在单击按钮时出现了碎片。

但是我在MainActivity.java文件中遇到错误“类型不匹配错误:无法从转换android.app.FragmentManagerandroid.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,而不仅仅是从standard
扩展该类android.Activity



 类似资料:
  • 问题内容: 错误使我发疯。 在我的应用中,我在MainActivity中创建了3个导航抽屉项,和。现在,我想添加两个与的项目。 MainActivity //用于导航抽屉 TabsFragmentPagerAdapter.java ViewView.java 问题: 错误:(49,81)错误:不兼容的类型:android.app.FragmentManager无法转换为android.suppor

  • 我在我的项目中使用spring webflux与外部API进行通信。在我的项目中,我无法将Flux转换为List。 在尝试对collectList().block()执行同样的操作时,flux的所有元素都被连接到一个字符串中,并存储在List的第0个索引处。如果我返回Flux而不是List,那么它会发送预期的响应。但我需要操作内容并将其作为子对象添加到其他对象中&因此尝试返回列表。 预期结果:[“

  • 我有一个方法createCompliance响应(),它返回BOLConplationObject对象,在此之前,我将其更改为BOLConplationMono,因为我必须在其中调用另一个反应性服务。但是在这样做之后,我调用该服务的当前服务在第6行和第7行出现错误。 我为其更改了退货类型的另一项服务是

  • 无法将属性“java.time.LocalDate Timestamp”映射到“java.time.offsetDateTime UpdateBy”。考虑声明/实现一个映射方法:“java.time.offsetDateTime map(java.time.LocalDate value)”。 我尝试在映射器中声明以下方法。 我得到了错误: 有人能解释一下如何执行转换吗?

  • 我试图通过将对象传递给“验证器”来验证库中的结果,其中验证器验证结果是否为空,并随后将传递的对象返回给调用方。例如: 调用方将调用以下内容: 我知道参数绑定发生在运行时,这就是编译器抛出这个错误的原因。我正试图避免使用显式类型创建多个方法,而宁愿捕获实现的所有类型。 在不上传或创建多个显式类型重载方法的情况下,有没有其他方法可以做到这一点?

  • 在godbolt.org中编译代码时,我遇到以下错误: 看起来该错误是在使用std::thread创建线程时出现的。该守则的简化版本为: