为什么我的listview会在执行notifydata setchange时闪烁

时间:2016-08-01 10:18:31

标签: android android-layout listview

执行此代码时,我的ListView会闪烁。有没有办法避免这种情况?

这是我的代码:

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();
                   }
               });

1 个答案:

答案 0 :(得分:0)

如果数据集发生变化,您应该只调用notifyDataSetChanged()。您的代码并未反映此类需求。它会闪烁,因为它需要重新绘制内容以反映更改(它可能会也可能不会显示,具体取决于设备,数据等)。你可能想要分析你的代码,看看你看到UI闪烁的真正需要的时间