FragmentManager.beginTransaction()不能应用于(int,android.app.fragment)

rak*_*das 3 java android android-fragments navigation-drawer

我试图在Android中创建一个导航抽屉,我遇到了一些问题.我的MainActivity.java中有一个方法可以处理我在导航抽屉上的点击,并指导用户进行适当的活动.方法如下所示:

      @Override
public void onNavigationDrawerItemSelected(int position) {
    // update the main content by replacing fragments
    android.app.Fragment objFragment = null;
    switch (position){
        case 0:
            objFragment= new menu1_Fragment();
            break;
        case 1:
            objFragment = new menu2_Fragment();
            break;
        case 2:
            objFragment = new menu3_Fragment();
            break;
    }
    FragmentManager fragmentManager = getSupportFragmentManager();
    fragmentManager.beginTransaction()
            .replace(R.id.container, objFragment)
            .commit();
}
Run Code Online (Sandbox Code Playgroud)

我的问题是我在第三行到最后一行出错了.replace(R.id.container, objFragment):FragmentTransaction cannot be applied to (int, android.app.fragment)

Blu*_*ell 5

如果使用,则需要使用支持片段 SupportFragmentManager

http://developer.android.com/reference/android/support/v4/app/Fragment.html http://developer.android.com/reference/android/support/v4/app/FragmentManager.html

VS

http://developer.android.com/reference/android/app/FragmentManager.html http://developer.android.com/reference/android/app/Fragment.html

你永远不能在两者之间混合搭配

// update the main content by replacing fragments
    android.support.v4.app.Fragment objFragment = null;
    switch (position){
        case 0:
Run Code Online (Sandbox Code Playgroud)

清晰度,替换:

android.app.Fragment objFragment = null;

同

android.support.v4.app.Fragment objFragment = null;