-1

我正在开发一个带有 android gridview 的应用程序。我的 gridview 由 10 行和 7 列组成。实际上这是一个颜色图表,所以 gridview 中的每个元素都应该是不同的颜色。我已经在可绘制文件夹中创建了元素。问题是我需要在每一行而不是每个元素上放置一个标题。假设我有一个像“头”这样的标题,那么我必须把“头”放在行中最左边的元素的顶部。这就是我想要的: 在此处输入图像描述

我必须做什么才能实现这一目标?

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

2 回答 2

1

您可以尝试使用自定义布局,而不是直接在适配器中使用可绘制对象,该布局下有标题TextView和图像ImageView

现在在 adpater 中,在 getview() 中,您可以将可绘制对象设置为 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

}
于 2013-05-07T06:01:44.440 回答
0

您可以制作一个包含 a 的布局 xml 文件,TextViewImageView 仅为第 0 行元素设置文本,并将其留空以供其他元素使用。

于 2013-05-07T06:05:52.890 回答