android: onClick реагирует только на второй щелчок в списке

Я нашел аналогичный вопрос о прокрутке списка и нажатии кнопки, но мне это не помогло. Моя проблема:

У меня есть список с настраиваемыми строками. У меня есть два разных состояния просмотра списка; переключение между состояниями - кнопка внизу экрана. Во втором состоянии в каждой строке есть кнопки удаления. Когда я нажимаю кнопку удаления в определенной строке, эта строка удаляется из базы данных и список обновляется. Все работает отлично, за исключением того, что мне нужно дважды нажать кнопку удаления, чтобы она заработала. Ниже мой код для обработки кликов. flag == 1 - второе состояние списка.

public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
    View main = parent.getChildAt(position);
    TextView delete = (TextView)main.findViewById(R.id.delete_button);

    if(flag==0){
        switchToItemsView(id);
    }
    if(flag==1){
        delete.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        mDbHelper.deleteList(id);
                        updateListView();
                    }});
    }
}

Я попытался установить для атрибута focusableInTouchMode родительского представления значение false, как предлагалось в другом сообщении, но это не помогло.

Если вы поможете мне решить эту проблему, я буду благодарен,

Заранее благодарю.

5
задан Engin Yapici 1 November 2011 в 01:45
поделиться