В одном из моих занятий у меня есть несколько ListView элементов управления. Скажите Список 1 , Список 2 & Список 3 . На Список 1 щелчок элемента, я загружаю данные для Список 2 & Список 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_activation = "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.
Как мне этого достичь?
РЕДАКТИРОВАТЬ в 8:08 вечера 19 марта 2012 г .: Нет правильного ответа ... я застрял и жду любую помощь