与Edittext中的“提示”选项相同,我需要一个Spinner中的默认文本。到目前为止,我使用“提示”字符串值,文本显示为弹出对话框的标题,但不是默认值。她是xml中的微调器:
<Spinner
android:id="@+id/..."
style="@style/spinner"
android:background="@drawable/..."
android:spinnerMode="dialog"
android:prompt="@string/..."/>
在.java中:
Spinner categories = (Spinner) findViewById(R.id.spinnerCategories);
categories.setOnItemSelectedListener(this);
List<String> categoriesList = new ArrayList<String>();
categoriesList.add("....");
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, categoriesList);
categories.setAdapter(dataAdapter);
dataAdapter.setDropDownViewResource
(android.R.layout.simple_spinner_dropdown_item);
categories.setPrompt("TEXT");
答案 0 :(得分:0)
我需要Spinner中的默认文本
Spinner
中没有默认文字。 Spinner
始终显示所选项目。如果您未通过setSelection()
指定,则此位置为0。
答案 1 :(得分:0)
试试这个解决方案
categoriesList.add("Select Category");
categoryAdapter = new ArrayAdapter<String>(getContext(), android.R.layout.simple_spinner_item, categoriesList){
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = super.getView(position, convertView, parent);
if (position == getCount()) {
((TextView)v.findViewById(android.R.id.text1)).setText("");
((TextView)v.findViewById(android.R.id.text1)).setHint(getItem(getCount())); //"Hint to be displayed"
}
return v;
}
@Override
public int getCount() {
return super.getCount()-1; // you dont display last item. It is used as hint.
}
};