我想在listView上进行两种类型的点击 - onClick和LongClick。
我已经实现了这样:
this.listViewSub = (ListView) this.findViewById(R.id.listsub);
this.listViewSub.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(final AdapterView parent, final View view, final int position,
final long id) { ... } });
// listen to long click - to share texts
this.listViewSub.setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View v) { ... } });
但它不能解雇长按。 任何人都知道为什么?
答案 0 :(得分:25)
您必须启用LongClickable
list.setLongClickable(true);
和
list.setOnItemLongClickListener(new OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> arg0, View arg1,
final int arg2, long arg3) {
}
});
答案 1 :(得分:6)
@Vadim,你的listview的适配器是否从BaseAdapter扩展?如果是,那么还需要设置convertView.setLongClickable(true);在getView()中。
答案 2 :(得分:1)
对我来说,我必须在包含我的ListView 行布局(而非ListView布局)的XML文件中设置android:longClickable="true"
,以便项目可以长按。
答案 3 :(得分:0)
onLongClick返回true,否则返回false。因此,如果事件由此方法处理,则返回true。