Android 抽屉式导航片段 - 不兼容的类型

Android navigation drawer fragment - incompatible types

在 android studio 中,我尝试使用找到的方法 here

从我的导航抽屉中打开一个新片段

不幸的是,我在使用以下方法时遇到错误:

@Override
public void onNavigationDrawerItemSelected(int position) {
    // update the main content by replacing fragments
    Fragment fragment;
    FragmentManager fragmentManager = getSupportFragmentManager();
    if(position==1) {
        fragment = new BlankFragment(); // This is where it fails with incompatible types
        fragmentManager.beginTransaction()
                .replace(R.id.container, fragment)
                .commit();
    }else{

        fragment = PlaceholderFragment.newInstance(position +1);
        fragmentManager.beginTransaction()
                .replace(R.id.container, fragment)
                .commit();
    }
}

关于导入我用的是支持类型:

import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;

我的 BlankFragment class 扩展片段:

public class BlankFragment extends Fragment { ... }

问题在于该行:fragment = new BlankFragment();失败并显示消息:

"Incompatible types"

您是否在 BlankFragment 中导入 android.support.v4.app.Fragment

否则您正在尝试将常规片段添加到 SupportFragmentManager。这个错误我犯过很多次,一开始很难发现。