【发布时间】:2016-03-09 13:25:28
【问题描述】:
我很难从 listView 中获取特定视图,甚至是行。我已经阅读了很多关于它的内容,这似乎是我在 Android 中做过的最简单的事情之一,但它不起作用,我猜我缺少一些微不足道的东西。
这是我的 listView (lvDetail) 代码,由列表“myList”填充:
lvDetail = (ListView) findViewById(R.id.feedlistView);
lvDetail.setOnItemClickListener(new android.widget.AdapterView.OnItemClickListener() {
@
Override
public void onItemClick(AdapterView <? > parent, View view, int position, long id) {
ListData item = myList.get(position);
Toast.makeText(FeedActivity.this, "You selected : " + item, Toast.LENGTH_SHORT).show();
final String TAG = "feed";
Log.i(TAG, "onItemClick: " + item);
}
});
lvDetail.setAdapter(new MyBaseAdapter(context, myList));
当我按下everthing(行\视图)时,什么也没有发生。 我已经尝试了一百万种组合,我的猜测是我在以下地方错过了它,但我尝试了很多变化,但没有任何效果: 1. XML 布局,尝试使用“可点击”。没用。 2. 也许我正在使用的 BaseAdapter 中有一些东西。 3. 可能是“setOnItemClickListener”行和“setAdapter”行的顺序。 4. 也许在我的 FeedActivity 活动中实现一些东西。 5. 可能是“onItemClick”行中的“父”\“视图”。
请帮我弄清楚我的代码出了什么问题。
谢谢! 吉尔。
【问题讨论】:
-
您的 setOnItemClick 是否被调用?如果没有被调用,那么您的适配器是否有按钮、复选框或任何其他可聚焦的视图?
-
你能显示行布局吗?
-
我认为它没有被调用,因为当我按行中的任何位置时,我看不到 logcat 的变化。
-
该行有按钮、图像按钮等。它们是用 android:clickable="true" 定义的
-
你只有那些问题,删除可点击的按钮并在你的项目中应用下面的解决方案,它会起作用。