有没有办法将文本标签添加到 android gridview ?我正在使用标准的android示例Hello GridView。
例如,如果我想在每个图像下添加图像标题,有没有办法做到这一点?如果是这样,有人可以解释这将如何工作?或者,有没有其他方法来实现这一点?谢谢!
答案 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"
};