所以我试图让 ListView 填充在同一布局上的按钮下方。基本上选择了ListView选项时,按钮将与每个所选选项不同。问题是它正在强制关闭,并且似乎是填充 ListView 的问题。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/background"
>
<Button
android:background="@drawable/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:layout_gravity="center"
android:id="@+id/button"/>
<ListView
android:listSelector="#990000"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginTop="10dp"
android:id="@+id/listview"
/>
</LinearLayout>
代码:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
lv = (ListView) findViewById(R.id.listview);
ArrayList<String> list = new ArrayList<String>();
soundsList.add("one");
soundsList.add("two");
soundsList.add("three");
ArrayAdapter<String> arrayAdapter =
new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, list);
lv.setAdapter(arrayAdapter);
Logcat 读数是这样的:
08-23 10:21:23.735: ERROR/AndroidRuntime(588): Caused by: java.lang.RuntimeException: Your content must have a ListView whose id attribute is 'android.R.id.list'
我已经完全尝试了它在 ArrayAdapter 中所说的内容......(android.R.id.list。我尝试了许多其他东西,包括扩展 ListActivity,但无论我尝试什么,我似乎都得到了类似的 Logcat 响应。
有没有更好的方法来完成我想要完成的事情?我希望 ListView 上方的按钮都在同一个 main.xml 上。
提前致谢。
编辑:
我也试过这段代码。目前已注释掉,但这是我最初尝试的。
setListAdapter(new ArrayAdapter<String>(this, android.R.id.list,LIST));
ListView listView = getListView();
listView.setTextFilterEnabled(true);
LIST 是一个字符串数组。上述代码在 Logcat 上的输出与之前的相同。