为什么我的onItemSelectedListener没有在ListView中调用?

Jan*_*usz 56 android listener android-listview

我正在使用像这样设置的ListView:

<ListView android:id="@android:id/list" android:layout_width="fill_parent"
    android:layout_height="fill_parent" android:longClickable="false"
    android:choiceMode="singleChoice">
</ListView>
Run Code Online (Sandbox Code Playgroud)

在我的代码中,我将一个OnItemSelectedListener添加到ListView,如下所示:

getListView().setAdapter(adapter);
getListView().setOnItemSelectedListener(this);
Run Code Online (Sandbox Code Playgroud)

我的Activity实现了这样的监听器:

@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
    Log.d("Tag", "ListItemSelected: Parent: " + parent.toString() + " View: "
            + view.toString() + " Position: " + " Id: " + id);
}
Run Code Online (Sandbox Code Playgroud)

我的希望是,当我点击列表中的某些内容时,我会看到此调试输出.但调试输出永远不会显示在LogCat中.

Jan*_*usz 98

OnItemSelectedListener对列表项选择收听,而不是列出项的点击.

在这种情况下的选择可以看作是使用设备的触控板将焦点移到此项目上.

要获得想要的行为,必须使用OnItemClickListener.

  • 这看起来更像是一种解决方法,而不是修复方法.*选择*事件未触发. (10认同)