gpt4 book ai didi

android - 如何取消 Android ListView 项目在 ListView 的 setOnItemClickListener 中被激活/突出显示?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:55:05 24 4
gpt4 key购买 nike

在我的一个 Activity 中,我有多个 ListView 控件。说 list 1 list 2 list 3。单击List 1 项目时,我从网络服务加载List 2List 3 的数据。并且被点击的项目的背景被突出显示。我通过以下选择器实现了这一点。

<item android:drawable="@drawable/item_pressed" android:state_pressed="true"/>
<item android:drawable="@drawable/item_focused" android:state_focused="false"
android:state_pressed="false"
android:state_selected="true"/>
<item android:state_activated="true" android:drawable="@drawable/item_selected"/>

如您所见,我指定了 android:state_activated="true" 来更改点击/点击项目的 BG。这很好用。

实际上,如果正在加载其他项目的数据,我想阻止被点击的项目被选择/突出显示......就像

list1.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {

// load data if no other call to web service is in progress
if (_isNotLoadingData) {
loadList2AndList3DataUsingWebService();
} else {
//Stop This Item From selected/highlighted
//BUT none of the following work. .. Item is always Selected
view.setSelected(false);
//view.setActivated(false);
//view.setEnabled(false);
}
}
});

上面的代码停止多次调用定向到我们的网络服务,但如果没有为该 ListView 项目调用网络服务,我无法阻止该项目被突出显示/激活。

我怎样才能做到这一点?

2012 年 3 月 19 日晚上 8 点 08 分编辑: 还没有合适的回复……我被困住了,正在等待任何帮助

最佳答案

我前几天确实遇到了同样的问题。解决方案是设置 view.setItemChecked(false),而是在 .onItemClick() 方法中调用您的 listview 并设置listview.setItemChecked(position, false)。这为我解决了。

例子:

listView.setOnItemClickListener(new OnItemClickListener() {

@Override
public void onItemClick(AdapterView<?> adapterView, View view,
int position, long arg3) {

// load data if no other call to web service is in progress
if (_isNotLoadingData) {
loadList2AndList3DataUsingWebService();

} else {
ListView lv = (ListView) adapterView;
lv.setItemChecked(position, false);
}
}
});

关于android - 如何取消 Android ListView 项目在 ListView 的 setOnItemClickListener 中被激活/突出显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9699978/

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