0

Я работаю над социальным приложением, и он вот-вот завершится, но я застрял в одной проблеме, которая мерцает. Когда на экране отображается около 9-10 изображений, и если я прокручиваю страницу, тогда происходит мерцание изображения.Изображения мерцают при публикации вопроса

@Override 
    public View getView(final int position, View convertView, ViewGroup parent) { 
     final ViewHolder holder; 
     if (convertView == null) { 

      LayoutInflater inf = (LayoutInflater) getApplicationContext() 
        .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
      convertView = inf.inflate(R.layout.view_explore_icon, null); 
      holder = new ViewHolder(); 
     } else { 
      holder = (ViewHolder) convertView.getTag(); 
     } 

     holder.back = (RelativeLayout) convertView.findViewById(R.id.back_layout); 
     holder.img = (ImageView) convertView.findViewById(R.id.img_grid_album); 
     convertView.setTag(holder); 
     ImageLoader.getInstance().displayImage(
       Static_Urls.explore_logo_pic + categoryList.get(position).cat_logo, 
       holder.img); 

     if (pos == position) { 
      holder.back.setBackgroundResource(R.drawable.explore_selected_image); 
     } else { 
      holder.back.setBackgroundResource(R.drawable.explore_blank_image); 
     } 
     holder.img.setTag(position); 
     holder.img.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       pos = (int) view.getTag(); 
       txt_cat_name.setText(categoryList.get(position).category); 
       //notifyDataSetChanged(); 
       new GetAllExplorePic().execute(categoryList.get(position).id); 

      } 

     }); 

     return convertView; 
    } 

ответ

0

вытеснять ниже строки кода внутри если (convertview == NULL)

holder.back = (RelativeLayout) convertView.findViewById(R.id.back_layout); 
    holder.img = (ImageView) convertView.findViewById(R.id.img_grid_album); 
    convertView.setTag(holder); 

окончательный код

@Override 
    public View getView(final int position, View convertView, ViewGroup parent) { 
     final ViewHolder holder; 
     if (convertView == null) { 

      LayoutInflater inf = (LayoutInflater) getApplicationContext() 
        .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
      convertView = inf.inflate(R.layout.view_explore_icon, null); 
      holder = new ViewHolder(); 
      holder.back = (RelativeLayout) convertView.findViewById(R.id.back_layout); 
     holder.img = (ImageView) convertView.findViewById(R.id.img_grid_album); 
     convertView.setTag(holder); 
     } else { 
      holder = (ViewHolder) convertView.getTag(); 
     } 

     // holder.back = (RelativeLayout) convertView.findViewById(R.id.back_layout); 
    // holder.img = (ImageView) convertView.findViewById(R.id.img_grid_album); 
     // convertView.setTag(holder); 
     ImageLoader.getInstance().displayImage(
       Static_Urls.explore_logo_pic + categoryList.get(position).cat_logo, 
       holder.img); 

     if (pos == position) { 
      holder.back.setBackgroundResource(R.drawable.explore_selected_image); 
     } else { 
      holder.back.setBackgroundResource(R.drawable.explore_blank_image); 
     } 
     holder.img.setTag(position); 
     holder.img.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       pos = (int) view.getTag(); 
       txt_cat_name.setText(categoryList.get(position).category); 
       //notifyDataSetChanged(); 
       new GetAllExplorePic().execute(categoryList.get(position).id); 

      } 

     }); 

     return convertView; 
    } 
Смежные вопросы