2016-03-05 43 views
1

我的应用需求是处理网格视图上的点击事件和长按事件。如何处理事件点击和长按gridview android?

我已经尝试了两个,但没有长时间按下事件工作。

如果我删除长按事件,然后单击事件工作。

但是,当我尝试把这两个事件,然后只有长按事件工作。

所以我怎么能在网格视图android上实现这两个事件。

我有搜索很多东西,但没有得到完美的解决方案任何人有解决方案或想法然后帮我。

在此先感谢。

代码: -

gv.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
@Override 
public void onItemClick(AdapterView<?> av, View v, int pos, long id) { 
    onGridItemClick(v,pos,id); 
} 
}); 

protected void onGridItemClick(View v, int pos, long id) { 
Log.i(TAG, "onItemClick id=" + id); 
} 

gv.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() { 
@Override 
public boolean onItemLongClick(AdapterView<?> av, View v, int pos, long id) { 
    return onLongGridItemClick(v,pos,id); 
} 
}); 

protected boolean onLongGridItemClick(View v, int pos, long id) { 
Log.i(TAG, "onLongGridItemClick id=" + id); 
return true; 
} 
+0

显示您的代码。 – UMESH0492

+0

返回true将阻止点击事件继续。然后,它只会执行OnItemLongClickListener .. – Nitesh

+0

我已尝试返回false但不工作 –

回答

0

你应该返回false在您长按监听。这种方式不会消耗事件并将其传递给物品点击侦听器。

protected boolean onLongGridItemClick(View v, int pos, long id) { 
    Log.i(TAG, "onLongGridItemClick id=" + id); 
    return false; 
} 
+0

感谢您的回复,但不工作 –