【问题标题】:Gridview Item not inflated?Gridview 项目没有膨胀?
【发布时间】:2016-02-24 05:20:41
【问题描述】:

为适配器引用的每个项目创建一个新的ImageView

  public View getView(int position, View convertView, ViewGroup parent) {
        ImageView imageView;
        if (convertView == null) {
            // if it's not recycled, initialize some attributes
            imageView = new ImageView(mContext);
            imageView.setLayoutParams(new GridView.LayoutParams(85, 85));
            imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
            imageView.setPadding(8, 8, 8, 8);
        } else {
            imageView = (ImageView) convertView;
        }

        imageView.setImageResource(mThumbIds[position]);
        return imageView;
    }

这是来自developer.google.com 如果它为空,它不会膨胀视图。但是要在 gridview 中添加一个自定义项,我们正在夸大视图...

【问题讨论】:

  • 获取标签和设置标签在哪里??
  • 什么是获取和设置标签的需要..如果我错了,请纠正我..但是代码在网站上给出的那样正常工作..但我在这里没有看到任何通货膨胀..
  • @ashwin mThumbIds 的长度是多少?你能发布你的代码吗
  • 请发布您的适配器...

标签: android gridview android-arrayadapter


【解决方案1】:
 public class GridAdapter extends BaseAdapter
 {
     private Context context;
     private LayoutInflater layoutInflator;

     private Integer[] mThumbnails 
 =                                                                                                           {R.drawable.kunfu1,R.drawable.kunfu2,R.drawable.kunfu3,R.drawable.kunfu4};

     public GridAdapter(Context c){
      context = c;
      layoutInflator = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
     }


     public View getView(int position, View grid, ViewGroup parent){

         ImageView imageView;
         if(grid == null) {
             grid = layoutInflator.inflate(R.layout.mdv_grid_item, null);
             imageView =  (ImageView)grid.findViewById(R.id.grid_item);

             grid.setTag(imageView);

          }else{
             imageView = (ImageView)grid.getTag();
          }


          imageView.setImageResource(mThumbnails[position]);
          imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);

         return grid;

      }

      }

【讨论】:

  • 但是当布局只包含图像视图时,视图不会被膨胀。但是当它同时包含文本和图像时,如果它为空,它会被膨胀以获取新视图……有什么区别他们之间??
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-23
  • 2021-08-30
  • 2020-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多