FragmentTransaction 类型中的方法 add(int, Fragment, String) 不适用于参数 (int, Fragment, String)
Posted
技术标签:
【中文标题】FragmentTransaction 类型中的方法 add(int, Fragment, String) 不适用于参数 (int, Fragment, String)【英文标题】:The method add(int, Fragment, String) in the type FragmentTransaction is not applicable for the arguments (int, Fragment, String) 【发布时间】:2013-03-09 04:58:36 【问题描述】:我有这个问题..
The method add(int, Fragment, String) in the type FragmentTransaction is not applicable for the arguments (int, Fragment, String)
在FragenmtActivity
中使用以下代码时
getSupportFragmentManager().beginTransaction().add(com.korovyansk.android.slideout.R.id.slideout_placeholder, ((Fragment)new CommentsMenuFragment()), "menu").commit();
CommentsMenuFragment 实现在哪里:
public class CommentsMenuFragment extends Fragment
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
View view = inflater.inflate(R.layout.fragment_comment, container, false);
ListView lvComments = (ListView) view.findViewById(R.id.lvComments);
return view;
【问题讨论】:
你用的是android.support.v4.app.Fragment还是android.app.Fragment? 谢谢我在下面的问题***.com/questions/11753921/error-in-fragment中找到了答案 【参考方案1】:检查您的 CommentsMenuFragment 是否从 android.support.v4.app.Fragment 而不是 android.app.Fragment 扩展。
【讨论】:
它帮助了我,我的 Fragment 被导入为 android.app.fragment,我将导入更改为 android.support.v4.app,并且我的 FragmentActivity 的添加错误消失了。谢谢@PaNaVTEC以上是关于FragmentTransaction 类型中的方法 add(int, Fragment, String) 不适用于参数 (int, Fragment, String)的主要内容,如果未能解决你的问题,请参考以下文章
FragmentTransaction.replace()中错误的第二个参数类型
FragmentTransaction的commit和commitAllowingStateLoss的差别
如何实现 FragmentManager 和 FragmentTransaction 来替换单个片段?
fragmentTransaction.add 和 fragmentTransaction.replace 之间的区别
共享元素过渡适用于 FragmentTransaction.replace() 但不适用于 FragmentTransaction.add()
操作栏在 FragmentTransaction replace() 和 FragmentTransaction add() 上的行为方式