如何修复错误:不兼容的类型:tab1 无法转换为 Fragment?

Posted

技术标签:

【中文标题】如何修复错误:不兼容的类型:tab1 无法转换为 Fragment?【英文标题】:How can i fix error: incompatible types: tab1 cannot be converted to Fragment? 【发布时间】:2019-02-26 21:17:40 【问题描述】:

TaB EC 代码

错误:

我正在尝试创建一个选项卡菜单来单击某个选项卡。该方法在不同的项目中有效,但是当我在我的 MAIN 项目中实现它时,它总是在 return tab1; 下划线。

上面写着需要:

android.support.v4.app.Fragment;
found: com.example.batyaa.firstgearautomotive_2.cars.chevrolet_equinox_2001;

但是为什么?我已经导入了 Fragment。

public class PagerAdapter_1 extends FragmentPagerAdapter

    int NumberOfTabs;

    public PagerAdapter_1(FragmentManager fm, int numOftabs)
    
        super(fm);
        this.NumberOfTabs = numOftabs;
    


    @Override
    public Fragment getItem(int i) 
        switch (i)
        
            case 0:
                tabCE tab1 = new tabCE();
                return  tab1;
            default:
                return  null;
        


        return null;
    

    @Override
    public int getCount() 
        return 0;
    

【问题讨论】:

可能问题与导入和来自getCountNumberOfTabs有关 没有,即使我有它返回 NumberOfTabs;它仍然让我无法以只读方式执行重构 显示两个类导入 @D-TECK : 也是 tabCE @D-TECK : 我们要求导入 tabCE 【参考方案1】:

它在tabCE 类中使用android.app.Fragment 导入。

将导入更改为:

import android.support.v4.app.Fragment

tabCE 类中,然后在PagerAdapter 中将Fragment 导入为android.support.v4.app.Fragment

另外,R import 也是错误的。

tabCE 位于 ..2001 包中,但它正在使用它,因为它位于 firstgearautomotive_2 包中,这是不正确的。删除导入,它会向您显示正确的(您的班级在哪里),其中包含正确的包,然后导入它。

【讨论】:

评论不用于扩展讨论;这个对话是moved to chat。

以上是关于如何修复错误:不兼容的类型:tab1 无法转换为 Fragment?的主要内容,如果未能解决你的问题,请参考以下文章