Java 不兼容的类型无法转换为片段

Java 不兼容的类型无法转换为片段,java,android,android-studio,android-fragments,cradle,Java,Android,Android Studio,Android Fragments,Cradle,所以我试着制作一个简单的应用程序,带有底部导航,但我有点被碎片的东西卡住了 我承认这些错误: error: incompatible types: berandaFragment cannot be converted to Fragment error: incompatible types: beritaFragment cannot be converted to Fragment error: incompatible types: radioFragment cannot b

所以我试着制作一个简单的应用程序,带有底部导航,但我有点被碎片的东西卡住了

我承认这些错误:

error: incompatible types: berandaFragment cannot be converted to Fragment  
error: incompatible types: beritaFragment cannot be converted to Fragment   
error: incompatible types: radioFragment cannot be converted to Fragment    
error: incompatible types: kegiatanFragment cannot be converted to Fragment 
这是我的MainActivity.java

import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.design.widget.BottomNavigationView;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;
import android.view.MenuItem;
import android.widget.FrameLayout;

public class MainActivity extends AppCompatActivity {

    private BottomNavigationView mMenuUtama;
    private FrameLayout mFrameUtama;

    private berandaFragment berandaFragmentMenu;
    private beritaFragment beritaFragmentMenu;
    private radioFragment radioFragmentMenu;
    private kegiatanFragment kegiatanFragmentMenu;



    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mFrameUtama = (FrameLayout) findViewById(R.id.frame_utama);
        mMenuUtama = (BottomNavigationView) findViewById((R.id.menu));

        berandaFragmentMenu = new berandaFragment();
        beritaFragmentMenu = new beritaFragment();
        radioFragmentMenu = new radioFragment();
        kegiatanFragmentMenu = new kegiatanFragment();

        mMenuUtama.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
            @Override
            public boolean onNavigationItemSelected(@NonNull MenuItem item) {
                    switch (item.getItemId()) {
                        case R.id.menu_beranda :
                            setFragment(berandaFragmentMenu);
                            return true;

                        case R.id.menu_berita :
                            setFragment(beritaFragmentMenu);
                            return true;

                        case R.id.menu_radio :
                            setFragment(radioFragmentMenu);
                            return true;

                        case R.id.menu_kegiatan :
                            setFragment(kegiatanFragmentMenu);
                            return true;

                        default:
                            return false;
                }
            }
        });
    }

    public void setFragment(Fragment fragment) {
        FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
        fragmentTransaction.replace(R.id.frame_utama, fragment);
        fragmentTransaction.commit();
    };}
我是一个初学者,如果发现解决方案非常简单,我很抱歉。实际上,我是按照一个教程来做这件事的,我遵循了每一个步骤,但是我得到了这些错误,所以我非常困惑


之前谢谢。

这可能是因为您导入了fragment的应用程序版本,而不是框架或v4版本。您已经定义了扩展AppCompat的活动,AppCompat是支持框架的一部分。因此,此活动承载的所有片段必须来自支持框架,即android.support.v4.app.Fragment。您可以使活动扩展简单活动,也可以将片段转换为v4类型。此决定将取决于您瞄准的设备级别

本文详细介绍了支持框架:


检查你的berandaFragment,它是android.app.Fragment还是android.support.v4.app.Fragment?让我们看看你的碎片库中的1个,最后的答案是@HongDuan。碎片似乎是android.app。Fragment@FazanCheng我不知道如何显示它,抱歉,复制并粘贴整个java代码到这个stackoverflow帖子中