向Android Gridview添加标签/文本

时间:2011-12-09 05:08:07

标签: android label android-gridview

有没有办法将文本标签添加到 android gridview ?我正在使用标准的android示例Hello GridView

例如,如果我想在每个图像下添加图像标题,有没有办法做到这一点?如果是这样,有人可以解释这将如何工作?或者,有没有其他方法来实现这一点?谢谢!

3 个答案:

答案 0 :(得分:7)

您可以像在ListView中一样创建自定义GridView我们定义自定义布局以显示ListRow您还可以为GridView项创建自定义布局 请参阅 this Example For GridView。

使用简单的GridView您可以像现在一样显示一个ImageView, 现在如果要为每个网格项添加另一个视图(文本), 您必须创建一个包含TextView和ImageView的XML文件。

然后在适配器中使用该XML文件,在GetView方法中,您可以将Image和Text设置为您的视图。

以下是 another example 这是另一个 Good Example

答案 1 :(得分:1)

for Example采用LinearLayout并添加一个imageview,textview并为该布局充气并分配给convertview。

答案 2 :(得分:0)

从您的活动中调用此适配器

      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"
};