【问题标题】:Images flicker on post issue发布问题时图像闪烁
【发布时间】:2016-01-25 08:26:23
【问题描述】:

我正在开发社交应用程序,它即将完成,但我遇到了一个图像闪烁问题。当屏幕上有大约 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;
    }

【问题讨论】:

    标签: android image android-layout android-fragments android-intent


    【解决方案1】:

    替换 if(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;
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-05-06
      • 1970-01-01
      • 2020-08-04
      • 1970-01-01
      • 2017-05-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多