2011-06-10 154 views
6

我的自定義ListView有問題。自定義ListView Android

SimpleAdapter adapter = new SimpleAdapter(this, 
    this.dh.selectAll(), 
    R.layout.custom_row_view, 
    new String[] {"Icon","Chance","TeamID"}, 
    new int[] {R.id.text1,R.id.text2, R.id.text3}); 
    setListAdapter(adapter); 

這是我的簡單適配器。我想把它們放進圖標中,我可以這樣做嗎?

+1

看來你還沒有在SO或谷歌在這裏張貼問題之前,Google搜索出來。 – 2011-06-10 11:47:20

+0

是的,你可以,但你應該更具體...你怎麼提供圖標?由Uri?資源ID? – Selvin 2011-06-10 11:50:56

+0

@Kartik我們真的不知道他是否想用懶惰的圖片加載 – Selvin 2011-06-10 11:53:30

回答

21

是你可以...

MyList.java:

package com.TestActivity; 

import java.util.ArrayList; 
import java.util.HashMap; 

import android.app.ListActivity; 
import android.os.Bundle; 
import android.widget.SimpleAdapter; 


public class MyList extends ListActivity { 

    final static ArrayList<HashMap<String, ?>> data = new ArrayList<HashMap<String, ?>>(); 

    static{ 
     HashMap<String, Object> row = new HashMap<String, Object>(); 
     row.put("Icon", R.drawable.flags_albania); 
     row.put("Chance", "65%"); 
     row.put("TeamID", "Albania"); 
     data.add(row); 
     row = new HashMap<String, Object>(); 
     row.put("Icon", R.drawable.flags_rpa); 
     row.put("Chance", "55%"); 
     row.put("TeamID", "RPA"); 
     data.add(row); 
     row = new HashMap<String, Object>(); 
     row.put("Icon", R.drawable.flags_polska); 
     row.put("Chance", "100%"); 
     row.put("TeamID", "Polska :)"); 
     data.add(row); 
    } 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     SimpleAdapter adapter = new SimpleAdapter(this, 
       data, 
        R.layout.row, 
        new String[] {"Icon","Chance","TeamID"}, 
        new int[] { R.id.imageView1, R.id.textView1,R.id.textView2}); 
     setListAdapter(adapter); 

    } 
} 

RES /佈局/ row.xml:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 
    <ImageView android:layout_height="wrap_content" android:layout_width="wrap_content" android:src="@drawable/icon" android:id="@+id/imageView1"/> 
    <TextView android:text="TextView" android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content"/> 
    <TextView android:text="TextView" android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content"/> 
</LinearLayout> 

放PNG圖像與標誌水庫/可繪製,華電國際/

flags_albania.png flags_rpa.png flags_polska.png

,您將得到smthing這樣的:

enter image description here