我有兩個並排的片段。當我對左邊的片段執行操作時,我想要更改正確的片段。只要正確片段的layout.xml不會更改,它就會工作。我想要的是定義一些佈局,例如layout1.xml,layout2.xml等。根據這些佈局中右側的左側發生什麼情況應該顯示。我發現http://developer.android.com/guide/components/fragments.html#Transactions,但我不確定這是否正確。如果不是什麼將是正確的方式?如果這是我奮鬥的一點點Android:更改layout.xml中的layout.xml
transaction.replace(R.id.fragment_container, newFragment);
我需要告訴newFragment它現在有例如layout27.xml。我怎樣才能做到這一點?
編輯:
我main.xml中看起來像這樣
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<fragment class="com.whatever.OverviewFragment"
android:id="@+id/list"
android:name="com.whatever.OverviewFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1" />
<fragment class="com.whatever.DetailFragment"
android:id="@+id/listB"
android:name="com.whatever.DetailFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1" />
</LinearLayout>
第二個片段應用戶動作來交換,對於數組listB我也可以說5個不同的layout.xml文件。
DetailFragment.java基本上是這樣的:
public class DetailFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.details, container, false);
}
//this is called when I do an action in the other fragment
public void setScreen(int id) {
//This fragment is one of the 5 possible fragments
DetailFragment2 newF = new DetailFragment2();
FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.replace(R.id.listB, newF);
transaction.addToBackStack(null);
transaction.commit();
}
}
但是你如何告訴你的rssfrag它鏈接到了layout27.xml,你需要將這個對象與佈局鏈接起來。我沒有看到你的代碼。 – AndyAndroid 2012-07-26 18:01:55
以我RSSFragment類我有我與一個特定的XML這樣它充氣一個OncreateView()方法: 公共視圖onCreateView(LayoutInflater充氣,ViewGroup中容器, \t \t \t捆綁savedInstanceState){ \t \t視圖V =充氣.inflate(R.layout.about_fragment,container,false); – Android2390 2012-07-26 18:10:55
我有一個活動顯示兩個fragements。在fragment2的代碼中,我說然後基本上用一個新的片段替換我自己(fragment2)。聽起來奇怪。我試過了:兩種佈局都高於對方......所以越來越接近但並不是真的我想要的...... – AndyAndroid 2012-07-27 11:50:20