我有一个使用ArrayAdapter动态管理的Spinner。当它被显示时,Spinner文本也会显示单选按钮。我该如何去掉这个单选按钮?下拉箭头也很难看...这是我的问题。
注意:我不是在说选择Spinner下拉列表时出现的那些单选按钮。
以下是适当的代码片段...几点说明:
- 这段代码位于Widget构造函数中,Widget是Spinner的子类。 - value是Object实例的数组(在创建Widget时传递)。 - 没有XML资源;所有小部件都是动态创建的。 - 我认为我需要"操作"提示,在构造函数和onitemclicked事件监听器中添加了setPrompt(...),但没有效果。
问:我错过了什么?对我来说,似乎我错过了Spinner的某些属性,导致单选按钮也显示在Spinner的文本部分。
-- 代码片段 --
-- 结束剪切代码 --
注意:我不是在说选择Spinner下拉列表时出现的那些单选按钮。
以下是适当的代码片段...几点说明:
- 这段代码位于Widget构造函数中,Widget是Spinner的子类。 - value是Object实例的数组(在创建Widget时传递)。 - 没有XML资源;所有小部件都是动态创建的。 - 我认为我需要"操作"提示,在构造函数和onitemclicked事件监听器中添加了setPrompt(...),但没有效果。
问:我错过了什么?对我来说,似乎我错过了Spinner的某些属性,导致单选按钮也显示在Spinner的文本部分。
-- 代码片段 --
public class ChoiceGroupImpl extends Spinner implements OnItemSelectedListener {
public ChoiceGroupImpl(Activity activity, WidgetContainer container, Value widget, AttributeImpl attributes, Object[] value, int selected) {
...
adapter = new ArrayAdapter<CharSequence>(activity, R.layout.simple_spinner_dropdown_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
for (int i = 0; i < value.length; i++)
adapter.add(value[i].toString());
if (attributes.isReadonly())
setEnabled(false);
setAdapter(adapter);
setSelection(selected);
setPrompt(adapter.getItem(selected));
setOnItemSelectedListener(this);
...
}
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
setPrompt(adapter.getItem(position));
((ToolkitImpl) Toolkit.getInstance()).hiddenCommand(container, "SelectionChanged");
}
...
-- 结束剪切代码 --