2012-04-22 104 views
0

大家好,感謝您的時間。Spinner裏面的動態列表視圖

我想創建一個自定義行的列表視圖,每一行都包含一個微調框。 我填充行,像這樣的數據:

ArrayList<HashMap> list = new ArrayList<HashMap>(); 
HashMap row = new HashMap(); 

row.put("Land_Links", c.getString(1)); 
row.put("Land_Rechts", c.getString(2)); 
row.put("Datum", c.getString(11)); 
row.put("Tijd", c.getString(10)); 

list.add(row); 

,我將它添加到simpleAdapter然後listview.setAdapter後。 這一切都很完美。 我不知道如何填充和設置旋鈕的onclicklistener。 你能告訴我應該如何解決這個問題嗎?

編輯:

隨着每一行創建了2個新紗廠的創建,我想填充和onclick監聽器設置爲兩個新的紡紗。 (R.array.score

當我嘗試通過將它們添加到我上面的示例中來填充spinners我得到的異常spinner不是一個視圖,可以是這個簡單的適配器邊界。

我的目標:要獲得一個循環,以填充文本視圖填充旋轉器,併爲旋轉器設置onclick聽衆。

+0

你需要什麼? onClickListener如何工作或其他什麼?給出具體的細節.. – 2012-04-22 14:51:19

回答

-1

您應該擴展適配器(BaseAdapter,SimpleAdapter ...)並在getView(名稱不是allways this,但通常適用於所有類型的適配器,如baseAdapter)方法,您可以將onClickListener設置爲spinners。

在這裏您可以找到有關ArrayAdapter http://www.softwarepassion.com/android-series-custom-listview-items-and-adapters/

這裏一個BaseAdapter

公共類FrontPageAdapter的代碼信息延伸BaseAdapter {

private ArrayList<Item> rssItems; 
private static LayoutInflater inflater = null; 

public FrontPageAdapter(Activity activity, ArrayList<Item> items){ 
    super(); 
    rssItems = items; 
    inflater = (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
} 

public int getCount(){ 
    return rssItems.size(); 
} 

public Object getItem(int position){ 
    return rssItems.get(position); 
} 

public long getItemId(int position){ 
    return getItem(position).hashCode(); 
} 

public View getView(int position, View convertView, ViewGroup parent){ 
    if (convertView == null) 
     convertView = inflater.inflate(R.layout.frontpage_item, null); 

    // Get the item 
    Item ls = (Item)getItem(position); 
    if (ls == null) 
     return convertView; 

    //Set the title 
    String title = ls.getTitle(); 
    if (title == null || title.equals("")){ 
     ((TextView)convertView.findViewById(R.id.FrontPageItemHeader)).setText(""); 
    } 
    else{ 
     ((TextView)convertView.findViewById(R.id.FrontPageItemHeader)).setText(title); 
    } 



    //Obtenemos el contenido. En caso de ser null obtenemos la descripcion 
    // String description = ls.getContent(); 
    String subtitle= ls.getDescription(); 
    if (subtitle == null || subtitle.length() == 0){ 
     ((TextView)convertView.findViewById(R.id.FrontPageItemText)).setVisibility(View.GONE); 
    } 
    else{ 
     ((TextView)convertView.findViewById(R.id.FrontPageItemText)).setText(Html.fromHtml(subtitle)); 
    } 

    // Other views, for example your spinner 




    return convertView; 
} 

}