我有沒有孩子的LinearLayout意見動態地添加多個片段到我的活動佈局
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
</LinearLayout>
,我想動態添加一個片段或兩個片段按它的要求。 我知道增加一個片段,但我怎麼能添加兩個片段動態地給它。 我有兩個片段,並且每個片段內我寫以下oncreateview
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
//return super.onCreateView(inflater, container, savedInstanceState);
View v=inflater.inflate(R.layout.frag1, container, false);
v.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
return v;
}
我試圖使用以下代碼來添加,但第二片段過來的第一個。
FragmentTransaction ft=fm.beginTransaction();
frag1 f=new frag1();
frag2 ff=new frag2();
ft.add(android.R.id.content, f);
ft.add(android.R.id.content, ff);
ft.commit();
好心地更新如何做到這一點。 感謝
+1我也在尋找這個問題的答案...這似乎這樣一個重要的問題,但我無法找到答案:/ - 在活動佈局中動態添加兩個片段 - 這對我來說看起來非常標準,但它並不包含在任何afaik中。 – AgentKnopf
對此的更新是,您不能將兩個添加到android.R.id.content,而是添加到Layout(如LinearLayout或其他任何一個ID),如下所示:if id one是viewgroup的id,然後ft.add(R.id 。一中,f, 「一個」); ft.add(R.id.one,FF, 「二」); ft.commit();請嘗試一下並更新 – user2779311
謝謝你回覆我:)!實際上現在我發現了一種在一個Activity中託管兩個片段的方法。所有需要做的事情是在佈局中放置兩個容器 - 每個片段一個,然後爲它們設置一個重量。如:第一個容器獲得30%的空間,第二個容器獲得70%的空間。如果你需要更多的細節,請讓我知道。它大部分都是在佈局文件中設置的,所以你會改變你的片段事務,把每一個添加到它的目標容器的ID中。 – AgentKnopf