我有一个Android Spinner小部件,我想在第一个项目中显示一个略有不同的字符串,如果它被选中,如果它显示在下拉列表中。例如,单击
[Select a dessert... v]
弹出:
o No dessert
Cake
Pie
Ice cream
如果是选择“蛋糕”,旋转器表现正常:
[Cake v]
但如果选择“No dessert”,则Select a dessert...
应该用作Spinner提示,就像没有选择任何内容一样。
最简单的方法是什么?
答案 0 :(得分:5)
假设您使用的方法类似于下面的方法,simple_spinner_dropdown_item
默认为适配器中对象的toString()
值。考虑到这一点,覆盖某个自定义toString()
类的ListItem
方法,以返回当项目显示为下拉项时您希望微调器显示的任何值。同时覆盖适配器中选择项的getView。
ArrayAdapter<ListItem> adapter = new ArrayAdapter<ListItem>(this, android.R.layout.simple_spinner_item, items){
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
final View v = vi.inflate(android.R.layout.simple_spinner_item, null);
final TextView t = (TextView)v.findViewById(android.R.id.text1);
t.setText("Something else");
return v;
}
};
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
ddlSpinner.setAdapter(adapter);
答案 1 :(得分:0)
首先,在android:prompt="Select a dessert..."
内设置<Spinner>
。