【发布时间】: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由于您的生硬回应,请仔细阅读并意识到错误。
标签: android listview long-press