Итак, у меня есть действие с 2 ListView
виджетами, когда вы выбираете значение в первом, второе заполняется значениями, связанными с выбором в первом ListView
.Этот механизм работает без проблем, но теперь я хочу, чтобы выбор пользователя оставался выделенным.Я прочитал большое количество вопросов, связанных с этой темой, и, кажется, есть множество способов, которыми можно это сделать, но после попытки 4-5 из них я все еще не могу заставить его работать.
У меня он работает на втором ListView
с использованием android:listSelector="#CCCCCC"
XML-атрибута, но, похоже, он стирается, как только в смесь вводится OnItemClickListener
(как тот, который я использую на своем первом * 1008).*).
Пока вот что я получил:
Пользовательский OnItemClickListener
Я нашел просмотр различных ответов по этой теме (слегка изменил его, чтобыдля загрузки моей информации второй ListView):
private class ItemHighlighterListener implements OnItemClickListener {
private View oldSelection = null;
public void clearSelection() {
if(oldSelection != null) {
oldSelection.setBackgroundColor(android.R.color.transparent);
}
}
public void onItemClick(AdapterView<?> parent, View view, int pos, long id) {
clearSelection();
oldSelection = view;
view.setBackgroundDrawable(view.getContext().getResources().getDrawable(R.drawable.list_selector));
loadClubs(mXMLPortalOptions.getRegion(pos).getId());
mClubList.setAdapter(new ArrayAdapter<String>(getApplicationContext(), R.layout.list_item_white, mClubs));
}
}
Вот мой list_selector.xml
файл:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true"><shape>
<solid android:color="#CCCCCC" />
</shape></item>
<item android:state_selected="false"><shape>
<solid android:color="#FFFFFF" />
</shape></item>
</selector>
Метод (OnItemClick) вызывается и выполняется, но фон моего ListItem
остается того же цвета: /
Я не могу поверить, что эта простая задача оказалась настолько сложной.
Если я пропустил код, который может быть полезен, или если в моем вопросе отсутствуют деталиНе стесняйтесь указывать на это, и я сделаю все возможное, чтобы объяснить себя.