【问题标题】:Fedor's Lazy Load for GalleryFedor 的画廊延迟加载
【发布时间】:2023-03-14 17:33:02
【问题描述】:

我正在使用 Fedor 的延迟加载,但我似乎无法调整它来填充画廊而不是列表视图。我的主要问题似乎与不必膨胀单独的布局有关。如何将图像结果直接传递到图库?

这是我当前的getview,它不起作用

 public View getView(int position, View convertView, ViewGroup parent) {
    View vi=convertView;
    if(convertView==null){
    ImageView image= new ImageView(context);
    image.setLayoutParams(new Gallery.LayoutParams(150, 100));
    image.setScaleType(ImageView.ScaleType.FIT_XY);
    imageLoader.DisplayImage(data[position], activity, image);
  }
    return vi;
  }

错误是库中的空指针异常。

对适当的改编有什么想法吗?

谢谢

【问题讨论】:

    标签: android gallery android-listview android-gallery


    【解决方案1】:

    我使用以下方法让它工作:

     public View getView(int position, View convertView, ViewGroup parent) {
        View vi=convertView;
        if(convertView==null){
            vi = inflater.inflate(R.layout.galitem, null);
        ImageView image=(ImageView)vi.findViewById(R.id.galimage);
        imageLoader.DisplayImage(data[position], activity, image);
        }
    
        return vi;
    
    }
    

    我在别处设置了参数。

    【讨论】:

      【解决方案2】:

      试试这个:

      public View getView(int position, View convertView, ViewGroup parent) {
          ImageView imgView;
          if (convertView == null) {
              imgView = new ImageView(context);
              imgView.setLayoutParams(new Gallery.LayoutParams(150, 100));
              imgView.setScaleType(ImageView.ScaleType.FIT_XY);
          } else {
              imgView = convertView;
          }
      
          imageLoader.DisplayImage(data[position], activity, imgView);
      
          return imgView;
      }
      

      【讨论】:

      • 谢谢,但事情已经从这里开始了一点。我现在可以成功地启动活动,膨胀一个单独的布局,其中只包含画廊的 ImageView。没有错误,但存根图像永远不会被实际图像替换。我会尝试调试,但如果你知道答案,那就太好了。
      • 你需要发布你的整个代码。我自己使用了 Fedor 的延迟加载类,没有任何问题,它很容易适应我自己的需求。
      猜你喜欢
      • 1970-01-01
      • 2014-08-28
      • 2011-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-28
      • 1970-01-01
      • 2017-02-03
      相关资源
      最近更新 更多