单个选项卡多个视图

时间:2012-01-23 09:39:24

标签: android

有人可以更多地了解如何在同一个标​​签中拥有多个视图吗?我有3个标签。 我使用了FragmentActivity来加载第一个选项卡的内容,这是一个ListFragment。单击列表中的任何项目时,必须显示另一个子项目列表。为此,我使用了一个内部静态FragmentActivity类,它又动态地添加了一个新的片段,显示了新的列表。但在新片段中,我没有看到我的第一个标签。

如何在片段或视图之间切换以保持我的标签完好无损?


仍无法实现...我的代码如下:

       public void onListItemClick(ListView l, View v, int position, long id) 
    {           
        getListView().setItemChecked(position, true);

        DetailsFragment details = (DetailsFragment)
                getFragmentManager().findFragmentById(R.id.titles);

        if (details == null || details.getShownIndex() != position) 
        {               
            details = DetailsFragment.newInstance(position);                
            FragmentTransaction ft = getFragmentManager().beginTransaction();
            ft.replace(R.id.titles, details);
            ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
            ft.commit();
        }
   }

布局文件如下:

 <?xml version="1.0" encoding="utf-8"?

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
         android:layout_width="match_parent" 
         android:layout_height="match_parent">

   <fragment class="com.example.myapp.NewReqScrLoader$TitlesFragment"
          android:id="@+id/titles"
          android:layout_width="match_parent" 
          android:layout_height="match_parent" /> 

</FrameLayout>

我在某个地方出错了吗?

1 个答案:

答案 0 :(得分:1)

您应该替换使用子项构建的另一个List FRagment的第一个ListFragment。不要创建新的FragmentActivity。

使用transaction.replaceFragment(..)执行此操作。