2010-10-24 60 views
1

我很新到Android銀盆,搜索和閱讀各種教程和使用的代碼的不同部分來自各地的網絡,試圖理解它,我去。如果我的解釋不是太好,請原諒我。Android:我如何爲每個ListView列表項分配一個單獨的圖標?

目前,我有4列表項,我想要做的是分配一個不同的圖標,這些列表項的東西創建的列表,但是,我不知道怎麼辦呢,我也不知道搜索什麼。

下面的代碼:

main.xml中

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent"> 

<ListView android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:id="@+id/mainListView"> 
</ListView> 

</LinearLayout> 

row.xml

<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/rowTextView" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:padding="10dp" 
    android:textSize="16sp" > 
</TextView> 

FirstList.java

import java.util.ArrayList; 
import java.util.Arrays; 

import android.app.Activity; 
import android.os.Bundle; 
import android.widget.ArrayAdapter; 
import android.widget.ListView; 

public class FirstList extends Activity { 

private ListView mainListView; 
private ArrayAdapter<String> myListAdapter; 

/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    mainListView = (ListView) findViewById(R.id.mainListView); 

    String[] myList = new String[] {"List 1", "List 2", "List 3", "List 4"}; 

    ArrayList<String> listObjects = new ArrayList<String>(); 
    listObjects.addAll(Arrays.asList(myList)); 

    myListAdapter = new ArrayAdapter<String>(this, R.layout.row, listObjects); 

    mainListView.setAdapter(myListAdapter); 

    } 
} 

我會很感激你有任何輸入包括任何資源你可能會推薦或批評我的代碼,作爲一個新手,我寧願不從一開始就選擇壞習慣!

謝謝。

回答

0

一種解決方案是使用SimpleAdapter。 SimpleAdapter允許您將靜態數據映射到複雜視圖。您應該能夠通過快速搜索找到大量示例,例如a tutorial

+0

這給了我從搜索的角度來看我需要繼續做的事情,我想我可能會破解它。謝謝。 – mattFllr 2010-10-24 21:53:11

0

你必須給的ImageView添加到row.xml文件(圖像將在ImageView的渲染) - 這應該不會太難。

您還需要創建一個自定義的ArrayAdapter(擴展ArrayAdapter類)並重寫getView方法 - 這是一項很常見的任務,因此您應該很容易地找到一些有關如何完成這些任務的示例。您還可以看看原來的一個ArrayAdapter類(ArrayAdapter)看getView是如何實現的。最後,您應該在getView方法中添加圖像加載代碼。

+0

謝謝,你能解釋一下嗎?我的搜索正在爲各種網站提供相同的回收網頁。 – mattFllr 2010-10-24 19:44:39

相關問題