为什么我的android微调器在textview中显示单选按钮?

She*_*tha 7 android button spinner radio-button

我有一个带有动态管理的arrayadapter的微调器.当它显示时,微调文本也会显示单选按钮.我怎么摆脱这个单选按钮?下拉箭头都是拉伸和令人讨厌的...这就是我的问题.注意:我不是在谈论在我选择微调器上的下拉列表时显示的列表中的单选按钮.

这里是相应的代码片段......几点:

  • 这段代码在widget的构造函数中,它是Spinner的子类
  • value是一个Object实例数组(在创建小部件时传递)
  • 没有XML资源; 所有小部件都是动态创建的
  • 我想我需要"操纵"提示,我在构造函数和onitemclicked事件监听器中添加了setPrompt(...)...这没有任何效果.

问:我错过了什么?在我看来,我错过了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");
    }
...
Run Code Online (Sandbox Code Playgroud)

- 结束剪辑代码 -

小智 18

如果要在微调器中保留单选按钮,而不是在textview中,请执行以下操作:

adapter = new ArrayAdapter<CharSequence>(activity, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
Run Code Online (Sandbox Code Playgroud)


fra*_*ins 14

在创建适配器时使用simple_spinner_item而不是simple_spinner_dropdown_item

adapter = new ArrayAdapter<CharSequence>(activity, R.layout.simple_spinner_item);
Run Code Online (Sandbox Code Playgroud)