【问题标题】:adding TextView and ImageView in gridAdapter error : text not appearing在 gridAdapter 中添加 TextView 和 ImageView 错误:没有出现文本
【发布时间】:2016-01-18 17:39:39
【问题描述】:

我的 gridView 适配器很好,直到最近我决定将 TextView 与 ImageView 一起添加。我的图像有些出现有些没有出现,而我的 TextViews 完全没有出现。我的整个 gridView 现在是一场灾难 D:我不知道怎么做。我到处搜索。我试过了还是不行 D:

我试过了:

UIL- tutorial adding TextView and ImageView

custom GridView with ImageView and TextView

这是我的代码:

public class MyGridViewAdapter extends BaseAdapter {

ArrayList<Integer> images = new ArrayList<>();
ArrayList<String> imageNames = new ArrayList<>();
Context context;
private Resources resources;

public MyGridViewAdapter(Context context, ArrayList<Integer> images, ArrayList<String> imageNames)
{
    this.context = context;
    this.images = images;
    this.imageNames = imageNames;
}

@Override
public int getCount() {
    return images.size();
}

@Override
public Object getItem(int position) {
    return images.get(position);
}

@Override
public long getItemId(int position) {
    return position;
}

private static class ViewHolder
{
    ImageView imageView;
    TextView textView;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {

    ViewHolder currentViewholder;
    ImageView imageView;
    TextView textView;
    LinearLayout outerLayout;

    LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

    //recycling logic
    if (convertView == null) {

        convertView = (LinearLayout) inflater.inflate(R.layout.grid_images, null);

    }

    currentViewholder = new ViewHolder();
    currentViewholder.imageView = (ImageView) convertView.findViewById(R.id.ivGrid_images);
    currentViewholder.textView = (TextView) convertView.findViewById(R.id.tvGrid_images);

    ImageLoader imageLoader = ImageLoader.getInstance();

    imageLoader.displayImage("drawable://" + images.get(position),currentViewholder.imageView);
    currentViewholder.textView.setText(imageNames.get(position));
    Log.d("TextView", imageNames.get(position));
    Log.d("TextView" , String.valueOf(images.get(position)));
    return convertView;

}

}

我做错了吗?请帮助:

【问题讨论】:

  • 在 getView 方法中使用ViewHolder 使其正常工作
  • @ρяσѕρєяK 我试过了......就像我提到的链接一样......但仍然无法工作......
  • @ρяσѕρєяK 等一下,在 getView 中使用是什么意思?它在 getView 里面不是:O 你的意思是在 if(convertView == null) isit 里面?如果是,我试过了。如果不是,请告诉我如何在 getView D 中使用:
  • 好的,请显示您尝试过的ViewHolder 代码
  • @ρяσѕρєяK 这是 ViewHolder 代码 D:

标签: android android-layout gridview universal-image-loader


【解决方案1】:

我已经解决了!它的行为很奇怪,因为它是重叠的!

感谢这两个链接,我一直在想出了什么问题。然后我试着把我的 LinearLayout 方向。然后就成功了!

  1. Set Text on a GridView Image in Android

  2. Placing/Overlapping(z-index) a view above another view in android

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-28
    • 2015-04-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多