Не може да се щракне върху елемент от ListView след превъртане

Имам ListView, където всеки ред се актуализира в реално време. Докато изтегляте файл в ListView, можете да видите напредъка на изтеглянето на всеки файл (няколко файла, затова ListView). И можете да щракнете върху елемента на ListView и да направите нещо с напредването на изтеглянето.

Използвах метод .notifyDataSetChanged(); на Adapter за задаване на динамични данни. И всичко е наред, но след превъртане на ListView не мога да щракна върху нито един елемент. Ако не превъртам, мога да кликвам върху елементи, които виждам, без да превъртам. Как мога да поправя това?


person ruslanys    schedule 10.10.2012    source източник
comment
как настройвате вашия setOnClickListener()?   -  person Bill Mote    schedule 10.10.2012
comment
разбира се. Работи, ако не превъртам списъка   -  person ruslanys    schedule 10.10.2012
comment
Какво конкретно се случва, когато щракнете върху елемент след превъртане, нищо? и използвате ли OnClickListener или OnItemClickListener?   -  person baTimá    schedule 10.10.2012
comment
Не казах, че настройвате; Казах, как се настройвате...   -  person Bill Mote    schedule 10.10.2012
comment
@baTimá Използвам OnItemClickListener. И нищо не става.   -  person ruslanys    schedule 10.10.2012
comment
@BillMote обикновено. listView.setOnItemClickListener(нов OnItemClickListener() {...} );   -  person ruslanys    schedule 10.10.2012
comment
проверете LogCat, за да видите дали има грешки или не?   -  person baTimá    schedule 10.10.2012
comment
@ruslanys Това е целият listView. Това ли искате или искате отделните редове? Ето защо попитах ;) Можете да зададете OnClickListener() в getView() на адаптера и това ще направи всеки елемент кликваем.   -  person Bill Mote    schedule 11.10.2012


Отговори (1)


Опитайте това - вероятно щракванията върху елементи от вашия списък се прихващат (приемайки, че слушателят на oniteclick)

listView.setOnScrollListener(new OnScrollListener() {
        public void onScrollStateChanged(AbsListView view, int scrollState) {
            if ( scrollState == OnScrollListener.SCROLL_STATE_IDLE )
            {
              listView.invalidateViews();
            }

        }

        @Override
        public void onScroll(AbsListView arg0, int arg1, int arg2, int arg3) {}
    });

Ако това не работи, публикувайте още код, за да можем да разберем какво питате

person Vrashabh Irde    schedule 10.10.2012