我正在使用android gridview开发一款应用。我的gridview包含10行和7列。实际上这是一个颜色图表,因此gridview中的每个元素应该是不同的颜色。我已经在drawable文件夹中创建了元素。问题是我需要在每一行上放置一个标题而不是每个元素。 假设我有一个像“head”这样的标题,那么我必须将“head”放在行中最左边元素的顶部。这就是我想要的:
我需要做些什么才能实现这一目标?
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ViewHolder view;
LayoutInflater inflator = activity.getLayoutInflater();
if(convertView==null)
{
view = new ViewHolder();
convertView = inflator.inflate(R.layout.gridview_row, null);
view.txtViewTitle = (TextView) convertView.findViewById(R.id.textView1);
view.imgViewFlag = (ImageView) convertView.findViewById(R.id.imageView1);
convertView.setTag(view);
}
else
{
view = (ViewHolder) convertView.getTag();
}
view.txtViewTitle.setText(listCountry.get(position));
view.imgViewFlag.setImageResource(listFlag.get(position));
return convertView;
}
答案 0 :(得分:1)
您可以尝试使用标题为TextView
且图片为ImageView
的自定义布局,而不是直接在适配器中使用drawable。
现在在adpater中,在getview()中,你可以将drawable设置为ImageView并将标题设置为位置0,7,14 ......等等的元素,并且对于所有其他位置都有标题Gone
。
编辑:(进一步解释)
在自定义布局中,标题的可见性为Gone
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if(position==0 || position%7==0){
// modify header here
// set visibility to visible here
}
else
// set visibility to gone here
// add image view here
}
答案 1 :(得分:0)
您可以制作包含TextView
和ImageView
的布局xml文件
仅为第0行元素设置文本,并为其他元素留空。