【发布时间】:2015-10-28 02:26:07
【问题描述】:
我有一个 ListView,这个 listview 中的每个项目都包含一个 gridview 和一个 header textview。现在我想识别用户何时单击整个项目的任何位置,所以我尝试设置一个 onItemClickListener。不幸的是,这似乎不起作用,因为我没有得到我添加到 click 方法的调试日志。
我的 ListView 如下所示
<ListView
android:id="@+id/listview_previous_issues"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:descendantFocusability="blocksDescendants"
android:layout_marginBottom="@dimen/article_separator_margin_topbottom"
android:divider="@null"
android:dividerHeight="0dp" />
而列表项的GridView是这样的:
<GridView
android:id="@+id/read_news"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:numColumns="auto_fit"
android:columnWidth="@dimen/settings_and_issues_read_issues"
android:stretchMode="columnWidth"
android:verticalSpacing="@dimen/paddingSmall"
android:horizontalSpacing="@dimen/paddingSmall"
android:listSelector="#00000000"
android:focusable="false"
android:focusableInTouchMode="false"
android:clickable="false"/>
更新:onItemClickListener 的调用
mIssueList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Log.d("debug", "Klicke auf Ressort mit der Id " + pRessorts.get(position).mRessortId);
//Setze die Ressort-ID welche Topnews angezeigt werden
SharedPreferenceHelper.setLongForKey(Constants.PREFS_SHOWN_TOPNEWS_ID, pRessorts.get(position).mRessortId);
//Refreshe die Ansicht
mContext.refresh();
}
});
我认为 GridView 正在获取单击事件而不是列表视图,但我不确定这是否正确。谁能指出我必须做什么才能在列表视图中获取点击事件?
【问题讨论】:
-
你能发布你的点击吗?
-
很遗憾没有。这篇文章是关于如何在列表视图中实现网格视图。我已经完成了这个及其工作。我想知道如何使用我的 onItemClickListener 检索点击事件,因为列表视图当前没有得到。
标签: android listview gridview onitemclicklistener