【发布时间】:2015-07-01 15:39:59
【问题描述】:
在我的应用程序中,当单击导航抽屉上的不同项目时,我需要在片段之间切换。我为它创建了一个新方法 DisplayFragment。代码如下:
private void DisplayFragment(int position)
{
Fragment fragment = null;
switch (position){
case 0:
fragment = new Fragment1();
break;
case 1:
fragment = new Fragment2();
break;
case 2:
fragment = new Fragment3();
break;
case 3:
fragment = new Fragment4();
break;
if(fragment!= null)
this.getFragmentManager().beginTransaction().replace(R.id.frame_container,fragment()).commit();
}
它显示错误“上面行中的片段元素如下”错误的第二个参数类型找到了android.support.v4.app.Fragment;需要 android.app.Fragment;"
我尝试将导入从 android.support.v4.app.Fragment 更改为 android.app.Fragment;但它随后显示 Fragment fragment = null 语句的错误。我做错了什么?
【问题讨论】:
-
new fragment()应该是大写字母new Fragment()并且上面的导入应该是android.support.v4.app.Fragment在你所有的 Fragment 类中 -
将代码
.replace(R.id.frame_container, new fragment())替换为.replace(R.id.frame_container, fragment)。您已经在上面的 switch 语句中调用了“new Fragment()”,现在您需要将其指定为新片段。 -
如果您觉得我的回答有帮助,请采纳。