所以我想要在同一個佈局上的按鈕下面填充一個ListView。基本上,當選擇ListView選項時,按鈕將對每個選定的選項作出不同的響應。問題在於它關閉了一個Force,並且這似乎是填充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'
我試圖準確android.R.id.list它說在一個ArrayAdapter ...( 。我嘗試了很多其他的東西,包括一個擴展的ListActivity,但是無論我嘗試什麼,我似乎都得到了類似的Logcat響應。有沒有更好的方法來實現我想要完成的目標?我想要ListView上方的按鈕都在同一個main.xml中。
在此先感謝。
編輯:
我也試過這段代碼。目前已註釋掉,但這是我最初嘗試的。
setListAdapter(new ArrayAdapter<String>(this, android.R.id.list,LIST));
ListView listView = getListView();
listView.setTextFilterEnabled(true);
LIST是一個字符串數組。從上面的代碼Logcat上的輸出是與以前相同。
LogCat錯誤描述瞭如何修復本身,Nick提供了更詳細的答案。我建議將'id'改爲Nick的代碼。 – Sam