0

我在 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不太了解。任何人都可以帮忙吗?谢谢。

4

3 回答 3

0
ListView lv = (ListView)findViewById(android.R.id.list);

如果您尝试获取 android 系统资源,但您想要在 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/listView1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >
    </ListView>

</LinearLayout>

所以你需要将你的代码更改为

ListView lv = (ListView)findViewById(R.id.listView1);

一些解释:

  • android.R- 它是 Android 操作系统的默认资源 - 比如按钮、图像、列表视图项目布局等。

  • R- 它是你的项目资源完整路径喜欢 [你的包路径].R 例如:com.example.R

于 2012-11-02T19:05:13.673 回答
0

在 xxx_row.xml 中尝试此更改

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:enabled="false">
</TextView>

至少对我来说,当我更改宽度和启用属性时它起作用了。

于 2013-01-19T20:35:42.640 回答
0

您是否在布局中将 FocusableInTouchMode 设置为 true?如果是这样,则不会调用 onItemClick。

于 2012-11-04T00:23:31.660 回答