[英]Android: White on white Spinner?
我有一個奇怪的bug出現在微調器上,當我點擊微調器時,我看到的只是這個
我仍然可以選擇值,並且它們可以像應有的方式與應用程序進行交互,因此我想它是白色背景上的白色文本。
經過一番研究,我試圖改變適配器的第一個參數這不是letterSpinner.getContext()沒有運氣,我也試過this.getApplicationContext()和,我甚至已經嘗試了許多不同的android.R.layout。 適配器第二個參數的值,白色結果相同。
太奇怪了,之前一切正常,我對該應用程序所做的所有編輯都沒有觸及Spinner的任何代碼,這是與Spinner相關的所有代碼:
letters = getResources().getStringArray(R.array.letters_array);
lettersForAdapter = new ArrayList<String>(Arrays.asList(letters));
letterSpinner = (Spinner)findViewById(R.id.letterSpinner);
spinnerAdapter = new ArrayAdapter<String>(letterSpinner.getContext(),
android.R.layout.simple_spinner_dropdown_item, lettersForAdapter);
letterSpinner.setAdapter(spinnerAdapter);
letterSpinner.setOnItemSelectedListener(new OnItemSelectedListener()
{
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
if(position == 0) //So 'Select a Letter' does nothing.
return; //Do nothing.
else
{
//Check for a match.
checkForMatch(parent.getSelectedItem().toString());
//Remove the letter.
spinnerAdapter.remove(parent.getSelectedItem().toString());
spinnerAdapter.notifyDataSetChanged();
//Ensures that the Spinner won't recursively call itself when an item is removed.
letterSpinner.setSelection(0);
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
//Do nothing.
}
});
XML:
<Spinner
android:id="@+id/letterSpinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:entries="@array/letters_array" />
關於這個問題的原因有什么想法嗎?
嘗試這個
spinnerAdapter = new ArrayAdapter<String>(**this**,
android.R.layout.simple_spinner_item, lettersForAdapter);
我想這是上下文的問題。 如果從資源數組中獲取“ lettersForAdapter”,也要提及。
有關此問題的更多信息,請參見此處
代替letterSpinner.getContext()更改為Activity.this並將文本顏色更改為黑色。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.