Android中AppCompatActivity找不到 与Fragment类型无法转换的问题

一、问题描述:

       今天刚开始学习Android中的fragment,编程时候遇到如下问题:


        系统找不到AppCompatActivity

二、解决方法:

       在build.gradle内的dependecies中加入如下代码:

implementation "com.android.support:appcompat-v7:27.1.1"

       AppCompatActivity和FragmentActivity都需要这类包


后来我又遇到了第二个问题:

一、问题描述:

查看Log发现:

C:\Users\h'p\Desktop\BlueTooth\FragmentTest\app\src\main\java\com\example\fragmenttest\MainActivity.java:24: 错误: 不兼容的类型: AnotherRightFragment无法转换为Fragment
                replaceFragment(new AnotherRightFragment());
                                ^
C:\Users\h'p\Desktop\BlueTooth\FragmentTest\app\src\main\java\com\example\fragmenttest\MainActivity.java:33: 错误: 不兼容的类型: android.app.Fragment无法转换为android.support.v4.app.Fragment
        transaction.replace(R.id.right_layout, fragment);

二、解决方法:

       包导入错了,把import android.app.Fragment;这个删了,重新导入android.support.v4.app.Fragment

        结果如下:

import android.app.Activity;
import android.support.v4.app.Fragment;
import android.app.FragmentManager;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;
import android.view.View;

       注意android.support.v4.app.Fragment与andorid.app.Fragment不能同时被导入。

       并注意每个class中都要把app.Fragment进行修改

   在建立Fragment时,可以选择系统内置的android.app.Fragment 或者support-v4库中的andorid.support.v4.Fragment,强烈建议后者,并且我们只需要在bulid.gradle文件中加入appcompat-v7库的支持,support-v4库就会被自动导入

        

猜你喜欢

转载自blog.csdn.net/dreamboy_gns/article/details/80137202
今日推荐