gpt4 book ai didi

Android ListView subview setEnabled() 和 setClickable() 什么都不做

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:46:26 26 4
gpt4 key购买 nike

在用户单击我的 ListView 中的项目后,我正在执行一些 AsyncTask 工作。我想禁用该项目,这样它就不能被点击两次。我已将点击监听器简化为仅包含此方法,但它仍然对我没有任何作用, View 看起来一样,并且让自己再次愉快地被点击,这让我很恼火。

public void onItemClick(AdapterView<?> parent, View clickedView,
int position, long id) {
item = (Episode) parent.getItemAtPosition(position);
clickedView.setClickable(false);
clickedView.setEnabled(false);
clickedView.invalidate();
}

我的每一行 View 都是一个带有两个 TextView 的自定义 LinearLayout

最佳答案

因此,您可能也在使用自定义适配器。如果这样做,请重写这些方法:

public boolean areAllItemsEnabled() {
return false;
}

public boolean isEnabled(int position) {
// return false if position == position you want to disable
}

然后,当您收到点击时,告诉适配器最后点击的项目是什么,并在该位置的 isEnabled 上返回 false。例如,您可以在适配器中使用这样的方法:

private int mLastClicked;
public void setLastClicked(int lastClicked){
mLastClicked = lastClicked;
}

关于Android ListView subview setEnabled() 和 setClickable() 什么都不做,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4636270/

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