2011-01-14 41 views
0

昨天我發佈了這個問題並得到了答案,並能夠做我想要的。如何從listView中獲取組件?

multiple spinner but one in xml

,但現在的問題是如何從ListView的行中的每個微調和做的東西呢?

在我的代碼我只注入字符串作爲名稱到listAdapter?

ListView listView = (ListView) viewTxting.findViewById(R.id.ListViewTreeView); 

for (int i = 0; i < names.size(); i++) { 
    listAdapter.add(names.get(i)); 
} 
listView.setAdapter(listAdapter); 

在此先感謝。

回答

1

這取決於你想用它做什麼。一種選擇是覆蓋適配器上的[getView] [1]。這使您可以訪問創建時的每個視圖。

請注意,ListView在您向上和向下滾動時重複使用視圖對象,因此您不能爲所提供的視圖對象假設任何默認狀態。如果您想爲一半視圖更改某些值,則需要確保將其設置爲另一半的默認值。

listView.setAdapter(new ListAdapter(...) { 
    public View getView (int position, View convertView, ViewGroup parent) { 
    View v = super.getView(position, convertView, parent);  
    // do stuff with v here. 
    } 

} 

[1]:http://developer.android.com/reference/android/widget/Adapter.html#getView(int,android.view.View,android.view.ViewGroup)

+0

非常好和理解,其實我試圖做到這一點,你可以提供一些代碼來顯示如何在代碼中引入一行?謝謝 – 2011-01-14 22:51:58