gpt4 book ai didi

android - onItemClick 和 onItemLongClick 不会在 ListView 中触发,直到一个项目被按下一次

转载 作者:行者123 更新时间:2023-11-30 03:36:58 27 4
gpt4 key购买 nike

在我的 ListView 中,我有这两种方法,它们确实有效,但只有在其中一个列表项被按下一次后才会起作用。因此,我第一次按下/按住某个项目时没有任何反应,但下次我按下/按住某个项目时它会完美运行。

这是我的 onListItemClick 方法

    @Override
protected void onListItemClick(ListView l, View v, int position, long id) {

getListView().setOnItemLongClickListener(new OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View v, int position, long id) {
File file = new File(path.get(position));
longClick(file);
Log.d(TAG, "onItemLongClick");
return true;
}
});

getListView().setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position ,long id) {
File file = new File(path.get(position));
player(file);
Log.d(TAG, "onItemClick");
};
});
}

最佳答案

您正在 onListItemClick 中设置 setOnItemLongClickListenersetOnItemClickListener,因此在您第一次按下 ListItem 之前它们不会触发。

您需要做的是将这段代码放在 onListItemClick 之外。

getListView().setOnItemLongClickListener(new OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View v, int position, long id) {
File file = new File(path.get(position));
longClick(file);
Log.d(TAG, "onItemLongClick");
return true;
}
});

getListView().setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position ,long id) {
File file = new File(path.get(position));
player(file);
Log.d(TAG, "onItemClick");
};
});

关于android - onItemClick 和 onItemLongClick 不会在 ListView 中触发,直到一个项目被按下一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16522719/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com