2016-01-18 8 views
0

Мой адаптер gridView до недавнего времени решил добавить TextView вместе с ImageView. Мои изображения некоторые появляются некоторые не появляются, и мои TextViews полностью не появляются. Весь мой gridView теперь катастрофа D: Я понятия не имею, как это сделать. Я искал везде. Я пытался, но я до сих пор не могу D:Добавление TextView и ImageView в gridAdapter error: текст не отображается

Я пробовал:

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; 

} 

} 

Я сделал что-то не так? Пожалуйста, помогите: < Он работал отлично, прежде чем я добавил TextView: <

+0

Использование 'ViewHolder' в методе GetView, чтобы заставить его работать правильно –

+0

@ ρяσѕρєяK я пытался .. как ссылку я уже упоминал .. но все-таки не может работать. – Michimcchicken

+0

@ ρяσѕρєяK нет ждать, что вы имеете в виду использование в getView? это внутри getView не: O вы имели в виду внутри if (convertView == null) isit? если да, я попытался .. если нет, скажите мне, как использовать в getView D: – Michimcchicken

ответ

0

Я РЕШЕН ЭТО! Это ведет себя странно, потому что это перекрытие!

Благодаря этим двум ссылкам я все думал о том, что не так. Затем я попытался установить ориентацию LinearLayout. Тогда это сработало!

  1. Set Text on a GridView Image in Android

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