列表和列表中的项目是否设置为可单击?要么以编程方式...
ListView myList = (ListView) findViewById(R.id.list_view_id);
myList.setClickable(true);
或者在 XML 中...
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
android:clickable="true">
...
</ListView>
我假设你这样做了,但有时我们甚至会错过明显的:)
EDIT:
来自安卓教程 http://developer.android.com/resources/tutorials/views/hello-listview.html以下是如何以编程方式设置 onItemClickListener。
ListView lv = getListView();
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
// When clicked perform some action...
}
});
EDIT 2:
这是我的 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 xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/list" />
</LinearLayout>
这是我的代码
public class HelloAndroidActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
String[] countries = getResources().getStringArray(R.array.countries_array);
ListView lv = (ListView) findViewById(R.id.list);
lv.setAdapter(new ArrayAdapter < String > (this, R.layout.list_item, countries));
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView <? > arg0, View view, int position, long id) {
// When clicked, show a toast with the TextView text
Toast.makeText(getApplicationContext(), ((TextView) view).getText(),
Toast.LENGTH_SHORT).show();
}
});
}
}