Android - сохранить элемент ListView выделенным после того, как на него нажали

Итак, у меня есть активность с 2ListView виджеты, когда вы выбираете значение в первом, второе заполняется значениями, связанными с выбором в первомListView, Этот механизм работает без проблем, но теперь я хочу, чтобы выбор пользователя оставался выделенным. Я прочитал большое количество вопросов, связанных с этой темой, и кажется, что существует множество способов сделать это, но после попытки 4-5 из них я все еще не могу заставить ее работать.

У меня это работает на второмListView с помощьюandroid:listSelector="#CCCCCC" Атрибут XML, но это, кажется, стирается один разOnItemClickListener вводится в микс (как тот, который я использую на моем первомListView).

Итак, вот что я получил:

изготовленный на заказ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 остается тем же цветом: /

Я не могу поверить, что эта простая задача оказалась настолько сложной.

Если я пропустил код, который может быть полезен, или если в моем вопросе отсутствуют детали, не стесняйтесь указывать на это, и я сделаю все возможное, чтобы объяснить себя.

Ответы на вопрос(11)

Ваш ответ на вопрос