我正在使用带有 4 个片段的 actionbar.Tab 构建应用程序。我想通过单击该 listFragment 内的 listView 的第一项来将其中一个列表片段替换为其他片段。
xml 仅包含图像和列表视图:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:id="@+id/joFl"
android:layout_height="fill_parent"
android:layout_gravity="center"
android:gravity="center"
android:orientation="vertical" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/jo_logo" />
<ListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:background="@android:color/black"
android:clickable="true"
android:paddingTop="10dp"
android:smoothScrollbar="true" >
</ListView>
</LinearLayout>
代码是:
{
case 0: {
FragmentTransaction ft = getFragmentManager().beginTransaction();
ShultzFragment sf = new ShultzFragment();
ft.replace(R.id.joFl, sf);
ft.commit();
break;
}
我也尝试从 LinearLayout 更改为 FrameLayout 但它没有显示 imageView 并且 replace() 有效,但它一起显示了 2 个片段。
有没有更简单的方法来实现它?在此先感谢,UDI