我正在阅读用于 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 消失的任何想法?