我在onCreate方法中有如下内容:
ListView lv = (ListView)findViewById(android.R.id.list);
adapter = new ModuleAdapter(this);
lv.setAdapter(adapter);
lv.setOnItemClickListener(this);
然后在代码中:
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
// TODO Auto-generated method stub
Log.v(TAG, "clicked");
}
正在实施OnItemClickListener。
我正在尝试从onItemClick启动一个新活动,但它似乎没有工作。
Android新手并不知道很多java。有人可以帮忙吗?感谢。
答案 0 :(得分:0)
ListView lv =(ListView)findViewById(android.R.id.list); - 如果你试图获得android系统资源,但是你想要在xml布局上描述的listview。
让我们说它看起来像:
<?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/listView1"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
</ListView>
</LinearLayout>
因此您需要将代码更改为
ListView lv =(ListView)findViewById(R.id.listView1);
有些人解释说: android.R - 它是Android OS的默认资源 - llike按钮,图像,listview项目布局等。 R. - 它'你的项目资源完整路径喜欢[你的包路径] .R例如:com.example.R
答案 1 :(得分:0)
您是否在您的布局中将FocusableInTouchMode设置为true?如果是这样,则不会调用onItemClick。
答案 2 :(得分:0)
在xxx_row.xml中尝试此更改
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:enabled="false">
</TextView>
至少对我而言,当我更改宽度和启用属性时它才起作用。