2016-08-01 6 views
-3

Meine ListView blinkt, wenn dieser Code ausgeführt wird. Gibt es eine Methode, dies zu vermeiden?Warum meine lisview blinkt, wenn ich notifydata setchange

Dies ist mein Code:

rowView.setOnClickListener(new View.OnClickListener() { 
        @Override 
        public void onClick(View v) { 
         for(int i=0;i<getCount();i++){ 
          getItem(i).setSelected(false); 
         } 
         getItem(position).setSelected(true); 
         mSelectedOption=getItem(position); 
         notifyDataSetChanged(); 
        } 
       }); 

Antwort

0

Sie sollten notifyDataSetChanged() nur anrufen, wenn Daten-Set geändert. Ihr Code spiegelt diesen Bedarf nicht wider. Und es blinkt, weil es den Inhalt neu zeichnen muss, um die Änderung widerzuspiegeln (es kann oder kann nicht sichtbar sein, abhängig von dem Gerät, den Daten usw.). Vielleicht möchten Sie Ihren Code profilieren, um zu sehen, was wirklich so lange dauert, bis die Benutzeroberfläche flimmert

Verwandte Themen