2014-03-26 43 views

回答

1

如果您将它制作为视图并将其传递到适配器,您可以随心所欲。因此,弄清楚如何把你的图像/文本叠加到一个XML查看,并做一些like this

ArrayAdapter<String> adapter=new ArrayAdapter(context,R.layout.image_with_text); 

这很可能是你真正需要写一个扩展ArrayAdapter(或者的CursorAdapter)一类的事你要。在这种情况下,请扩展布局,并在getView()中填充您的视图。像这样的东西会奏效。

View getView(int position, View convertView, ViewGroup parent) { 
    if (convertView==null) { 
     convertView = LayoutInflater.from(context).inflate(R.layout.image_with_text); 
    } 
    ((ImageView)convertView.findViewById(R.id.image)).setImage(getImage(position)); 
    ((TextView)convertView.findViewById(R.id.text)).setText(getText(position)); 
    return convertView; 
} 
1

你可以做到这一点通过以下方式:

// String[] items = {"list", "of", "items"}; -> I am using a string list. You will have to use your object list. 
// setContentView(R.layout.viewWithGrid); -> whatever layout has the gridview in it 
GridView g=(GridView) findViewById(R.id.grid); 
g.setAdapter(new ArrayAdapter<String>(this, R.layout.cell, items)); 

现在你需要定义你的“cell.xml”布局,这将有一个包含一个TextView一个的LinearLayout和ImageView的内另一个线性布局(它看起来像你正在使用图像)作为孩子。

<?xml version="1.0" encoding="utf-8"?> 
<Parent Linear Layout> <!-- fill in attributes --> 
<ImageView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
/> 
<TextView android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textSize="14dip" 
/> 
</ Parent Linear Layout> 

请注意,你将不得不通过动态代码(通过像onItemClick()左右一些听众)设置文本和图像。