2014-03-26 50 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()左右一些聽衆)設置文本和圖像。