我遵循了本教程:https://github.com/codepath/android_guides/wiki/Fragment-Navigation-Drawer
现在我在这一点上:
// Insert the fragment by replacing any existing fragment
FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction().replace(R.id.flContent, fragment).commit();
// Highlight the selected item has been done by NavigationView
menuItem.setChecked(true);
// Set action bar title
setTitle(menuItem.getTitle());
// Close the navigation drawer
mDrawer.closeDrawers();
我的问题是这一行..
FragmentManager fragmentManager = getSupportFragmentManager();
告诉我一个错误:不兼容的类型。需要android.app.FragmentManager找到:android.support.v4.app.FragmentManager。
我看到了一些帖子,但它们对我不起作用。
我使用AppCompatActivity扩展我的类,尝试了FragmentActivity,但这不起作用。
如果我将FragmentManager更改为android.support.v4.app.FragmentManager,则错误消失但
fragmentManager.beginTransaction()。replace(R.id.flContent, fragment )。commit();显示:错误的第二个参数type.Found:'android.app.Fragment',required'android.support.v4.app.Fragment'
请帮助我:/
答案 0 :(得分:2)
更改
import android.app.Fragment;
import android.app.FragmentManager;
到
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
在每个班级。您遇到问题,因为在您的Fragment创建类中,您正在使用支持v4片段,而在您的MainActivity类中,您正在膨胀为一个简单的片段。
您还需要将getFragmentManager()更改为 getSupportFragmentManager(),并确保它们正在扩展FragmentActivity类。
希望它会对你有所帮助。