我知道有一些话题谈论这种行为,但我还没有看到我可以使用的解决方案。
问题如下,我有一个使用BaseAdapter实现OnLongClickListener的列表视图。在GetView方法中,我将每个视图的onLongClickListener设置为这个值,但根本没有捕获到长时间单击。此外,我将每个onClickListener项设置为实现OnClickListeter的不同项,它确实捕捉到了单击事件,当我尝试对longClick事件执行相同操作时,它仍然没有捕捉到长单击事件。
一点代码:
public class ListOfCustomersAdapter extends BaseAdapter implements OnLongClickListener
{
...
public View getView(int position, final View convertView, ViewGroup parent) {
vi.setOnClickListener(item); // works
vi.setOnLongClickListener(this); // doesn't works
}
}
该项目是实现OnClickListener的类的实例
编辑1:
视图vi是一个包含多个视图的FrameLayout:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/selector_item"
android:descendantFocusability="blocksDescendants" >
<FrameLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<include
android:id="@+id/details_container"
layout="@layout/list_message_my_details"
android:paddingRight="6dp" />
<include
android:id="@+id/details_container"
layout="@layout/list_message_responder_details" />
<LinearLayout
android:id="@+id/text_container"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/list_message_margin_left"
android:layout_marginRight="@dimen/list_message_margin_right"
android:orientation="vertical"
android:paddingTop="55dp" >
<TextView
android:id="@+id/message_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:background="@color/white"
android:paddingBottom="@dimen/message_with_attached_channel_item_bottom_minus_padding"
android:paddingTop="@dimen/message_with_attached_channel_item_bottom_minus_padding"
android:textColor="@color/mobli_dark" />
<FrameLayout
android:id="@+id/text_seperator"
android:layout_width="fill_parent"
android:layout_height="1px"
android:background="@color/mobli_dark_20"
android:visibility="gone" >
</FrameLayout>
</LinearLayout>
</FrameLayout>
编辑2:
公共视图getView(int位置,最终视图转换视图,ViewGroup父级){
View vi = convertView;
ItemType item = items.get(position);
if (item.getType() == null)
vi = new TextItemType(context, item);
else if (item.getType() == 1)
vi = new ColorItemType(context, item);
else if (item.getType() == 2)
vi = new BoldItemType(context, item);
else if (item.getType() == 3)
vi = new FlatItemType(context, item);
vi.setTag(item.getId());
vi.setOnLongClickListener(this); //doesn't work
vi.setOnClickListener(item); // work
return vi;
}
最好添加listView.setOnItemLongClickListener(this);在您的main Active中
您是否将适配器与任何活动关联?尝试在活动中而不是在适配器中实现侦听器。
我想在计数器的基础上排序listview,但我无法做到这一点,请任何人帮助我。 在这里,我正在分享我的代码和屏幕截图。 这是链接到列表视图的适配器 自定义适配器组.java 下面是使用ListView的代码 Fragment_groups.java 这是屏幕截图
问题内容: 我要做什么? 单击时,将执行。在方法内部,我将方法的每个索引传递给方法,以便可以在中显示它。 发生了什么 ? 如果我 不 守行作为 注释 ,在我的方法,则是 按预期工作 。尽管如果我将 其注释掉 ,则 停止响应 。 难道我做错了什么 ? Java版本: 这是我正在使用的代码: *编辑1:* 按照建议,如果我添加,它确实可以工作,但是会抛出如下所示的错误。这样就可以了。但这是 合法 的表
昨天工作正常,一夜之间Windows7重新启动,现在Eclipse不会完成加载--旋转器显示“Eclipse SDK(未响应)”对话框“用户操作正在等待”完成“构建工作区”。Android SDK内容加载器保持在0%我尝试过: eclipse-clean delete c:\program files\eclipse\configuration.settings\org.eclipse.ui.id
我用IntelliJ创建了一个非常简单的流测试。 IntelliJ无法完成测试,并给了我错误 这导致假设响应程序流不执行任何操作。 启动器流被执行。我可以看到这一点,因为命令显示在日志中。但是,我不知道响应器流是否从未由发起方流启动,或者只是没有响应。也许你可以帮我。 谢谢
我是一个全新的计算机编程为CIS210和它的一个可怕的开始。下载了JDK9和Netbeans 8.2。Netbeans不允许我打开新项目或文件。没有错误消息或任何东西,几乎就像我没有点击它。屏幕保持空白,如下面的链接所示。快把我逼疯了。 单击“新建项目”时屏幕为空白:
我要把我的代码移到服务器上。这段代码可以在我在localhost上设置的自己的服务器上完美地运行和呈现数据库信息,但是当我从服务器上运行代码时,index.html中会显示一个错误,说明“IO没有定义”。无论出于什么原因,socket.io都无法被识别。此外,如果我在浏览器中键入localhost:3000,则不会显示任何内容。任何帮助都将不胜感激。 我有两个文件,server.js和index.