1

我試圖從我原始片段的onCreate()方法中自動打開一個新片段。我通過How do i open a new fragment from another fragment發現了這個代碼。我唯一困惑的是資源元素。在這種特殊情況下,R.id.layout是指什麼?什麼是資源被取代?它要求containerViewId。那是什麼?從另一個onCreate()方法中打開一個新片段

TemplateFragment nextFrag = new TemplateFragment(); 
    this.getFragmentManager().beginTransaction() 
      .replace(R.id.layout, nextFrag, TAG_FRAGMENT) 
      .addToBackStack(null) 
      .commit(); 

回答

3

這是佈局容器,你片段將被放,即一個ID:

 <FrameLayout 
      android:id="@+id/layout" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent"/> 

即應存在於您的活動佈局xml中。

在方法的javadoc

您有:

* @param containerViewId Identifier of the container whose fragment(s) are 
* to be replaced. 
2

是什麼R.id.layout是指在這種特殊情況下?什麼是 資源被替換?

碎片,當他們想要顯示的東西,需要一個容器,其中onCreateView的結果將被充氣到。當然,這個容器也應該是活動的一部分,目前在屏幕上,否則將無法看到任何東西

相關問題