我按照這個教程 http://www.softwarepassion.com/android-series-custom-listview-items-and-adapters/ 並喜歡爲listview添加點擊。OnClick ListView
現在這裏是我的main.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<ListView
android:id="@+id/android:list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:divider="@drawable/list_divider"
android:dividerHeight="1px"
android:cacheColorHint="#00000000"/>
</LinearLayout>
這裏是我的代碼:
setContentView(R.layout.main);
steden = new ArrayList<voorDeLijst>();
this.m_adapter = new StedenAdapter(this, R.layout.list_item, steden);
setListAdapter(this.m_adapter);
ListView lv = (ListView)findViewById(R.id.List);
lv.setOnItemSelectedListener(new OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
AlertDialog.Builder adb = new AlertDialog.Builder(HelloAndroid.this);
adb.setTitle("LVSelectedItemExample");
adb.setMessage("Selected Item is = ");
adb.setPositiveButton("Ok", null);
adb.show();
}
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
的事情是,我是一個初學者,並與上面的代碼,我得到一個錯誤,因爲它找不到列表視圖。所以我不能附加一個OnItemClick監聽器。 但是當我將<ListView android:id="@+id/android:list"
更改爲<ListView android:id="@+id/List"
然後我可以找到listview。但它在行中提供了一個例外:setContentView(R.layout.main);
那麼,如何將onClick/onItemClick附加到具有自定義適配器以將對象綁定到listitems的Listview?
隨着findViewById(R.id.List)你尋找與ID的觀點「列表」。因此,它必須是「@ + id/List」,或者您必須在代碼中更改它。順便說一句,有一個預定義的ListActivity可能更適合你!請在第二種情況的「setContentView(R.layout.main)」中爲異常提供更多錯誤信息。 – janoliver 2010-11-28 10:37:11
我的類確實擴展ListActivity,但我不知道如何附加onClick監聽器 – 2010-11-28 15:15:38