无法在2个片段之间切换

时间:2012-08-24 15:28:48

标签: android

我正在使用带有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

1 个答案:

答案 0 :(得分:0)

通过以下方式解决了这个问题:

        FragmentTransaction ft = getFragmentManager().beginTransaction();
        ShultzFragment sf = new ShultzFragment();
        ft.replace(R.id.fragment_container, sf);
        ft.addToBackStack(null);
        ft.commit()

非常感谢