Проблема с событием после обновления списка

Я новичок в Android. Когда я обновляю ListView с помощью метода invalidateViews(), перестают работать события, которые подключены к ListView.setOnItemClickListener(event1), setOnItemLongClickListener(event2). ListView подключен к CursorAdapter, который предоставляет данные. В CursorAdapter.bindView данные привязываются к представлениям.

Весь код довольно большой. Я постараюсь привести наиболее важные на мой взгляд куски кода и добавить пояснения.

Добавляю еще, если события подключения в методе MainCursorAdapter.bindView(...) все работают корректно.

Спасибо за помощь.

// Data binding to ListView
protected void bindDataWithList()
{
    if (checkCommunicatorWithActivity())
    {
        this.mainCursorAdapter = (MainCursorAdapter) this.communicatorWithActivity.getMainDataList();
        this.mainCursorAdapter.setListView(lvMain);
        lvMain.setAdapter(this.mainCursorAdapter);
    }
}

// Create event methods
protected void createEventsListener()
{
    this.lvOnItemClickListener = new AdapterView.OnItemClickListener()
    {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id)
        {
            Toast.makeText(getActivity(), "ItemClick(ListView)", Toast.LENGTH_SHORT).show();
            //ListFragment.this.communicatorWithActivity.showDetailListItem(position);
        }
    };

    this.lvOnItemLongClickListener = new AdapterView.OnItemLongClickListener()
    {
        @Override
        public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id)
        {
            Toast.makeText(getActivity(), "ItemLongClick(ListView)", Toast.LENGTH_SHORT).show();
            if (checkMainCursorAdapter())
            {
                ListFragment.this.mainCursorAdapter.setShowSelected(! ListFragment.this.mainCursorAdapter.getShowSelected());
                lvMain.invalidateViews();
                // after this method events not works !!! 
            }
            return true;
        }
    };
}

// Linking event methods

protected void bindEventsListener()
{
    lvMain.setOnItemClickListener(this.lvOnItemClickListener);
    lvMain.setOnItemLongClickListener(this.lvOnItemLongClickListener);
}

person JB.Dev    schedule 19.10.2017    source источник
comment
Предоставьте минимальный фрагмент кода, показывающий, что вы пытаетесь сделать.   -  person Ionut J. Bejan    schedule 19.10.2017
comment
Я добавил немного кода. Это может показать, что я делаю что-то не так.   -  person JB.Dev    schedule 19.10.2017
comment
Вызов lvMain.invalidateViews() вызывает MainCursorAdapter.bindView (представление вида, контекст контекста, курсор курсора). При повторном подключении данных от курсора к просмотру переподключать события к ListView?   -  person JB.Dev    schedule 19.10.2017
comment
Я нашел решение проблемы. Думаю, я ошибся в определении проблемы. Я дал слишком мало информации, которая оказалась очень важной. Проблема такая же, как в приведенной ниже ссылке: stackoverflow.com/questions/9900913/   -  person JB.Dev    schedule 20.10.2017