我有一個容器A.XML片段至片段交易機器人
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.tc.MainActivity"
tools:ignore="MergeRootFrame" />
它是顯示選項卡的內容,這是一個列表視圖。第一個標籤一個是B.XML
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ListView
android:id="@+id/list"
android:layout_height="0dp"
android:layout_width="match_parent"
android:background="@color/lightGrey"
android:layout_weight="0.8"
android:divider="@android:color/transparent"
android:dividerHeight="5.0sp"
android:focusable="false"
android:focusableInTouchMode="false">
</ListView>
</LinearLayout>
內的,當個人的ListView項用戶點擊,我想與另一個片段即ContentFragment替換當前列表視圖。
public void onItemClick(AdapterView<?> parent, final View view,
int position, long id) {
ContentFragment c= new ContentFragment();
c.setArguments(args);
a.getFragmentManager().beginTransaction()
.replace(xxx, c)
.addToBackStack(null)
.commit();
}
對於xxx字段,我想我應該填寫a.container?但我怎麼能得到它?作爲標籤A的內部,我是inflater.inflate(R.layout.b,container,false);
取代片段這樣嗎? –
這是你的活動,應該改變片段。在你的Fragment中,你可以用getActivity()調用活動,然後請求更改Fragment –
R.id.container是錯誤的,因爲我的標籤A的佈局文件(b.xml)沒有id:container,它存在於,xml。 @Arthur_gg,a.getFragmentManager()。beginTransaction()。replace正在做片段更改,其中a是活動。 – Hammer