私はAndroidアプリをAPI15と最小8に向けています。そこで、フラグメントを管理するためにサポートライブラリを使用します。アプリのいくつかの部分で使用するフラグメントのセットがあります。
さて、アクティビティでは、レイアウトに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リファレンスドキュメントには、Add呼び出しにGroupView Idを配置する必要があると記載されていますが、GroupViewをレイアウトのどこに配置する必要がありますか?マークを打つ別の方法はありますか? ?