我正在使用带有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
答案 0 :(得分:0)
通过以下方式解决了这个问题:
FragmentTransaction ft = getFragmentManager().beginTransaction();
ShultzFragment sf = new ShultzFragment();
ft.replace(R.id.fragment_container, sf);
ft.addToBackStack(null);
ft.commit()
非常感谢