短/长按 ListView 的一项
Posted
技术标签:
【中文标题】短/长按 ListView 的一项【英文标题】:Short/Long press in a item of ListView 【发布时间】:2014-10-24 13:15:49 【问题描述】:我有一个包含一些项目的 ListView,我希望在制作 itemClick
(短按)和 itemLongClick
(长按)时得到不同的响应:
list.setOnItemClickListener(new AdapterView.OnItemClickListener()
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id)
//play file
);
list.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener()
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id)
//Message
Toast.makeText(getBaseContext(), "FILE: "+itemsFiles.get(position).getName(), Toast.LENGTH_LONG).show();
return false;
);
当我短按 (onItemClick()
) 时,我的应用程序运行良好并且可以播放文件。
我的问题是当我长按(onItemLongClick()
)时,因为它出现了带有 Toast 的消息,但它也播放了文件,在这种情况下我不想播放文件......我怎样才能正确解决它区分这两种情况?
非常感谢。
【问题讨论】:
-1 不阅读文档:请查看AdapterView.OnItemLongClickListener
的文档,它应该返回什么以及为什么?
尝试在 onItemLongClick 方法中返回 'true'。
@Selvin 我很抱歉这个愚蠢的问题。我向您保证,我已阅读文档,但我不明白该方法返回的内容:如果回调消耗了长按,则为 true,否则为 false由于您的生硬回应,请仔细阅读并意识到错误。
【参考方案1】:
你可能想看看这个教程:http://android.konreu.com/developer-how-to/click-long-press-event-listeners-list-activity/
【讨论】:
以上是关于短/长按 ListView 的一项的主要内容,如果未能解决你的问题,请参考以下文章
Android 对 ListView 的一项使用 NumberFormat