2013-05-26 74 views
0

我一直在尋找和整個天的測試,但我沒有找到這個問題的任何解決方案。我有一個ListView,我想在其中顯示一些視圖。但是每次添加視圖時,它只會顯示listItems的類或id,而不是視圖本身。像:的ListView只顯示文本,而不是瀏覽

android.widget.Button{40f090e0VFED.. C. ..........l. 0,0-0,0} 

我在做什麼錯了!?我必須設置一個特定的標籤!? 這是我的列表視圖是如何在XML文件

<ListView 
    android:id="@+id/listView1" 
    android:layout_width="fill_parent" 
    android:layout_height="60dp" 
    android:animateLayoutChanges="true" 
    android:clipChildren="true" 
    android:clipToPadding="true" 
    android:dividerHeight="1dp" 
    android:focusableInTouchMode="true" 
    android:headerDividersEnabled="true" 
    android:scrollbarStyle="insideInset" 
    android:scrollbars="vertical|horizontal" 
    android:splitMotionEvents="true" > 

實現,這個北京時間java的代碼在活動:

Button[] test = new Button[3]; 
test[0] = new Button((Activity) _mycontext); 
test[1] = new Button((Activity) _mycontext); 
test[2] = new Button((Activity) _mycontext); 
test[0].setText("Test-Button 1"); 
test[1].setText("Test-Button 2"); 
test[2].setText("Test-Button 3"); 
_dt_columns.setAdapter(new ArrayAdapter<View>((Activity) _mycontext, android.R.layout.simple_list_item_1, test)); 
_dt_columns.notifyAll(); 

我也一路跟做的「擴展ListActivity」和Inflater,這一切都出現了,但總是隻有那些文本,而不是視圖本身。

+0

如果您只想在列表中顯示按鈕,您不需要自定義視圖來充氣嗎? – kabuto178

+0

什麼是「android.widget.Button {40f090e0VFED .. C. .......... l.0,0-0,0}」 – Daniel

+0

對不起,我甚至都不明白你想要什麼做。你有什麼意思「有視圖的ListView」? –

回答

1

ArrayAdapter只有一個TextView填充ListView,每個項目可能有一些複雜的佈局,但它們之間的唯一區別將是TextView值。

您正在傳遞視圖元素作爲列表項目和適配器調用toString方法在他們填充此TextView,這就是你從中得到這個「奇怪的」值。

創建與所需的結構,而不是使用android.R.layout.simple_list_item_1單列表項自己的XML佈局資源。 並創建asdapter這樣

ArrayAdapter<YourObject> adapter = new ArrayAdapter<YourObject>(this, R.layout.listitem, R.id.textview_inside_listitem, YourObject[]) 

其中YourObject是一個類你創造抱着你​​希望在顯示列表中單項和toString方法的返回值的數據。

+0

好!謝謝!應該是這樣!我會嘗試一下並在稍後給出反饋! :-) –

+0

我是這麼做的喲告訴我,現在它的作品!謝謝! :-) –

相關問題