Добавление меток / текста в Android Gridview - PullRequest
2 голосов
/ 09 декабря 2011

Есть ли способ добавить текстовую метку в android gridview ?Я использую стандартный пример Android, Привет GridView .

Например, если я хочу добавить заголовок изображения под каждым из изображений , есть ли способ сделать это?Если так, может кто-нибудь объяснить, как это будет работать?Или есть альтернативные способы реализовать это?Спасибо!

Ответы [ 3 ]

7 голосов
/ 09 декабря 2011

Вы можете создать Custom GridView, как в ListView, мы определяем Custom Layout, чтобы показать ListRow, вы также можете создать Custom Layout для элемента GridView. См. этот пример Для GridView.

Использование простого GridView Вы можете просто показать один ImageView, как вы делаете прямо сейчас, сейчас. Если вы хотите добавить другое представление (текст) для каждого элемента сетки, вам нужно будет создать один XML-файл, содержащий TextView иImageView.

Затем используйте этот XML-файл в адаптере, и в методе GetView вы можете установить для изображения и текста свой вид.

Вот другой пример для того же А вот еще один Хороший пример .

1 голос
/ 09 декабря 2011

для Exaample возьмите LinearLayout и добавьте изображение, текстовое представление и накачайте этот макет и предоставьте конвертировать.

0 голосов
/ 09 декабря 2011

Позвоните этому адаптеру из вашей активности

      GridView view =(GridView) findViewbyId(is of grid view here);
      view.setAdapter(new BottomMenuGridAdaptor(this.context));

Это код для адаптера

     public class BottomMenuGridAdaptor extends BaseAdapter {


private Context context;
public BottomMenuGridAdaptor(Context context) {
    super();
    this.context = context;
}

@Override
public int getCount() {
    return mThumbIds.length;
}

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

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

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

    if (convertView == null){  
        convertView = LayoutInflater.from(context).inflate(R.layout.tab_button, null);
    }
    LinearLayout ll=(LinearLayout) convertView.findViewById(R.id.linear_topbar);

    if(position==PostionHandler.getPosition(context))
        ll.setBackgroundResource(R.drawable.tab_blue_bg);
    else
        ll.setBackgroundResource(R.drawable.tab_red_bg);

    ImageView imageView=(ImageView)convertView.findViewById(R.id.icon);
    imageView.setImageResource(mThumbIds[position]);
    TextView txt= (TextView) convertView.findViewById(R.id.title);
    txt.setText(mThumbtext[position]);
    return convertView;
}

private Integer[] mThumbIds = {
        R.drawable.temp_thisweek,
        R.drawable.temp_store,
        R.drawable.temp_mylibrary, 
        R.drawable.temp_lateststore,
        R.drawable.temp_more
};

private String[] mThumbtext = {
        "This Week",
        "C&EN Store",
        "My Library", 
        "Latest News",
        "More"
};
...