1
我不知道這一個爲我的生活。我正在查詢數據庫中的列表,並將該列表傳遞給AlertDialog以獲取用戶輸入。我目前使用的是simple_spinner_item,並且數據顯示得很好。但是,使用此方法時行太窄,我想更改寬度。我嘗試了幾種不同的方法:的Android simple_list_item_single_choice空當使用SimpleCursorAdapter
改變:
android.R.layout.simple_spinner_item
到列表基於佈局,如:
android.R.layout.simple_list_item_single_choice
這將是完美的,但清單是空白的!當我單獨點擊它們時,項目會顯示出來。所以這不起作用。
我使用與一個TextView的定義自定義XML文件,並設置下拉資源這樣也嘗試(文件:db_view_row.xml):
<?xml version="1.0" encoding="utf-8"?> <LinearLayout android:id="@+id/LinearLayout01" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"> <TextView android:text="" android:id="@+id/tvDBViewRow" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="#FF0000" /> </LinearLayout>
這裏引用它:
int[] to = new int[] { android.R.id.db_view_row};
adapterDenomination.setDropDownViewResource(R.layout.db_view_row);
這並不工作,要麼(空行),但是當我用直微調原來它確實(我不能使用,因爲第一項是自動選擇的)。
這裏是原來的代碼片段:
String[] from = new String[] {"denomination_desc" };
int[] to = new int[] { android.R.id.text1 };
cursor.moveToFirst();
SimpleCursorAdapter adapterDenomination = new SimpleCursorAdapter(CoinsScreen.this,
android.R.layout.simple_spinner_item, cursor, from, to );
new AlertDialog.Builder(CoinsScreen.this)
.setTitle("Select Denomination")
.setAdapter(adapterDenomination, new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int which)
{
(...)
謝謝!
哇,感謝您的快速幫助!但不幸的是,它仍然不起作用。我在原來的文章中犯了一個錯誤,我確實有這樣的:int [] to = new int [] {R.id.tvDBViewRow},我在編輯器中搞砸了,並且粘貼了一條評論....我嘗試添加樣式屬性添加到XML。我可以使它工作的唯一方法是使用int [] to = new int [] {R.id.text1};和simple_spinner _item,不幸的是它不適用於這個應用程序。其他所有我嘗試過的結果都是空白行,或點擊時突出顯示內容的行 – 2011-12-26 16:12:48
simple_dropdown_item_1line似乎與int [] to = new int [] {R.id.text1}一起工作;但它很醜,實際上太大了。仍然似乎無法找到合適的組合來獲得該自定義XML文本視圖的工作.... – 2011-12-26 16:23:50
嗯......奇怪。我有一個類似的問題,我通過使用默認ArrayAdapter與自定義佈局解決(最終ArrayAdapter適配器=新ArrayAdapter (這一點,R.layout.dropdown_item,R.id.txt_spinner))和設置像TextView的領域我上面發佈的那些顏色加上黑色。 –
jcxavier
2011-12-26 16:43:46