如何修复错误:不兼容的类型: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?的主要内容,如果未能解决你的问题,请参考以下文章

错误:(54,91)错误:不兼容的类型:int无法转换为String

错误:不兼容的类型:char 无法转换为字符串 - Java [重复]

不兼容的类型:条件表达式 void 中的错误类型无法转换为布尔值。请协助

使用 Kotlin 和泛型进行数据绑定。错误:不兼容的类型:对象无法转换为列表

不兼容的类型:RecViewFragment 无法转换为 Fragment

如何修复错误:无法将类型“java.lang.String”的值转换为所需类型“java.lang.Long”;