如何从android中的另一个片段内部调用片段类

时间:2013-04-04 09:47:46

标签: android android-fragments android-fragmentactivity

在我的项目中,我有一个片段视图(as the layout of a sliding menu),它附加到我的MainActivity。在我的菜单片段中,我有另一个片段(内部片段),它从XML本身调用一个类,如下所示:

<fragment
    android:id="@+id/innerfragment"
    android:layout_width="fill_parent"
    android:layout_height="175dip"
    android:layout_marginBottom="10dip"
    android:layout_marginTop="10dip"
    class="com.myproject.android.fragment.MyInnerFragment" />

当我运行项目时,它显示以下java.lang.RuntimeException

 android.view.InflateException: Binary XML file line #76: Error inflating class fragment

问:如何从XML或代码中调用内部片段类?

在推出滑动菜单之前,在活动下设置了同样的XML

EDIT:

为了说清楚,这就是布局的样子。滑动菜单视图是名为menu.xml的RelativeLayout

enter image description here

内部片段内容根据MainActivity中选择的选项而有所不同。

1 个答案:

答案 0 :(得分:0)

我想我已经找到了问题的解决方案。

首先,我为我的项目(Maven Project)使用了错误的android支持jar。的;)

我用latest android support jar文件解决了这个问题,第二个问题可能是我的内部片段在创建外部视图之前就已经设置好了。

无论如何,我将这段代码插入到我的外部片段中,它开始工作得很好..!

@AfterInject
public void setupfragment()
{
      FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction();
      myinnerFragment = new PresetsFragment_();
      fragmentTransaction.add( R.id.menu_my_frame, myinnerFragment );
      fragmentTransaction.commit();
}

总是欢迎更好的答案。在那之前,我将这个答案标记为正确的答案..!的;)

修改

忘记提到我从XML中删除了我的代码并从我的外部片段中的代码中实现了它。的:d