我的目標是API應用程序到API 15和最低8.所以我使用支持庫來管理片段。我在應用程序的幾個部分中使用了一組片段。添加一個片段作爲ListView標題
現在,在一個活動我都在佈局一個ListView:
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/listOfEvents"
android:layout_width="match_parent" android:layout_height="match_parent">
</ListView>
我想補充我的一個片段在ListView頭。我嘗試這樣做:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.event_open);
listOfEvents = (ListView) findViewById(R.id.listOfEvents);
Fragment fragment = new SortingStandardFragment();
getSupportFragmentManager()
.beginTransaction()
.add(fragment, null)
.commit();
View fragmentView = fragment.getView(); // problem: fragment is null!
listOfEvents.addHeaderView(fragmentView);
}
,但我得到一個錯誤,因爲fragment.getView()返回null(API參考文檔說,我要放GroupView標識中添加通話,但我應該在哪裏把GroupView在?佈局 是否有另一種方式來切中要害
我不確定這可以這樣工作,但片段的想法是創建一個framelayout設置一個id(你可以通過在資源中添加id名稱來創建id),添加爲標題,然後用一個事務替換該id片段 – sherpya