2012-01-24 82 views
0

我在我的程序中的幾個地方使用微調,但我會堅持一個案例。紡紗廠沒有填充文本

我有兩個xml文件 - small_new_systemnew_system。他們都有一個名爲state_spinner的微調器。

奇怪的是,當我在使用new_system的運行3.2的平板電腦上使用此代碼時,它們顯示,但是當我將該應用程序放在運行2.1的手機上時,它使用small_new_system,它們不顯示。這些項目位於微調列表中,但沒有顯示文本。我嘗試以不同的方式命名旋轉器,以及不使用自定義旋轉器佈局。

另一個奇怪的是,當我使用相同的佈局,這看起來不太好,在小設備上,他們也沒有填充文本。

謝謝你的幫助!我的代碼如下:

代碼填充微調:

states = (Spinner) findViewById(R.id.state_spinner); 
ArrayAdapter<CharSequence> adapter = ArrayAdapter 
    .createFromResource(this, R.array.states, 
      R.layout.spinner_layout); 
adapter.setDropDownViewResource(R.layout.spinner_layout); 
states.setAdapter(adapter); 
states.setOnItemSelectedListener(new MyItemsOnSelectListener());` 

微調在small_new_system:

<Spinner 
    android:id="@+id/state_spinner" 
    android:layout_width="200dp" 
    android:layout_height="55dp" 
    android:layout_below="@+id/city_edit" 
    android:layout_margin="5dp" 
    android:layout_alignParentRight="true" 
    android:inputType="textPersonName" 
    android:textSize="40dp" > 
    </Spinner> 

微調在new_system:在定製微調

<Spinner 
     android:id="@+id/state_spinner" 
     android:layout_width="500dp" 
     android:layout_height="75dp" 
     android:layout_below="@+id/city_edit" 
     android:layout_margin="10dp" 
     android:layout_alignParentRight="true" 
     android:textSize="60dp" > 
</Spinner>` 

代碼:

<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/spinnerTarget" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:gravity="left" 
    android:textColor="#00000000" 
    android:textSize="40dp" > 
</TextView>` 
+0

我會張貼圖片,但我不允許。 。 。 – Trapshooter161

+0

當我使用Android 3.0及更高版本的仿真器時,spinners似乎正確填充,但不適用於2中的任何操作系統。 – Trapshooter161

回答

0

嘗試刪除:

android:inputType="textPersonName" 

從small_new_system。然後,它會是什麼樣子:

<Spinner 
    android:id="@+id/state_spinner" 
    android:layout_width="200dp" 
    android:layout_height="55dp" 
    android:layout_below="@+id/city_edit" 
    android:layout_margin="5dp" 
    android:layout_alignParentRight="true" 
    android:textSize="40dp" > 
</Spinner> 

或者你可以嘗試添加背景色:

<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/spinnerTarget" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:gravity="left" 
    android:textColor="#00000000" 
    android:background="#FFFFFFFF" 
    android:textSize="40dp" /> 
+0

這並沒有什麼區別。微調列表中仍然不包含任何文本,但包含所有行。 – Trapshooter161

+0

嘗試添加背景顏色 – CornflakesDK

+0

也沒有解決它。我想知道在早期的操作系統中是否支持自定義微調器佈局? – Trapshooter161

0

我想出瞭解決的辦法是當使用android.R.layout.simple_dropdown_item我的微調檢測到小於11的sdk,當sdk大於11時,使用我的自定義微調器。這似乎工作正常。不是我最喜歡的解決方案,但它確實有效。

0

試試這個..

spnPlan = (Spinner) findViewById(R.id.set_spinner1); 

ArrayAdapter<CharSequence> planAdapter = ArrayAdapter.createFromResource(
       this, R.array.plan_size, android.R.layout.simple_spinner_item); 
       planAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
       spnPlan.setAdapter(planAdapter); 
     spnPlan.setOnItemSelectedListener(new MyOnItemSelectedListener()); 
+0

這正是我所做的。我已經確定舊的SDK不支持自定義佈局。天氣不是這樣,我不知道。見前面的答案。 – Trapshooter161