私は Android プログラミングの Big Nerd Ranch ガイドに取り組んでおり、第 16 章の課題に取り組んでいます。課題は、ListView の EmptyView を作成し、EmptyView に何かを追加するボタンを作成することです。EmptyView を機能させましたが、ボタンをどこに作成すればよいかわかりません。これが私のコードです。
public View onCreateView(LayoutInflater inflater, ViewGroup parent,
Bundle savedInstanceState) {
View v= super.onCreateView(inflater, parent, savedInstanceState);
inflater.inflate(R.layout.list_frame_layout, parent);
return v;
}
ここに私のXMLがあります。
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ListView
android:id="@android:id/list"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
</ListView>
<LinearLayout android:id="@android:id/empty"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="24dp"
android:text="@string/empty_no_crime" />
<Button
android:id="@+id/empty_new_crime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/empty_new_crime">
</Button>
</LinearLayout>
</FrameLayout>
この本では、フラグメントを使用するように指示されているため、インフレートします。コードは
mNewCrime=(Button)getView().findViewById(R.id.empty_new_crime)
しかし、それは機能していません。何か案は?
編集*:うーん、どうやらこれも実際にはうまく機能していないようです。何かを追加しても、EmptyView は消えず、アイテムがリストされている間は押し下げられます。ものを追加するとすぐに EmptyView をなくす方法についてのアイデアはありますか?