【问题标题】:why does my android spinner display the radio button in the textview?为什么我的 android spinner 在 textview 中显示单选按钮?
【发布时间】:2011-05-01 11:48:37
【问题描述】:

我有一个带有动态管理数组适配器的微调器。当它显示时,微调器文本也会显示单选按钮。我如何摆脱这个单选按钮?下拉箭头全是拉伸和恶心......这就是我的问题。 注意:我不是在谈论当我选择微调器上的下拉菜单时显示的列表中出现的单选按钮。

这里是适当的代码 sn-p... 几点:

  • 此代码在小部件的构造函数中,小部件是 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");
    }
...

-- 结束代码--

【问题讨论】:

  • 哦!顺便说一句:我没有覆盖任何视图布局,绘制方法。

标签: android button radio-button spinner


【解决方案1】:

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

adapter = new ArrayAdapter<CharSequence>(activity, R.layout.simple_spinner_item);

【讨论】:

  • 啊!做到了!看起来很简单,难怪我错过了! THX
【解决方案2】:

如果您想在微调器中保留单选按钮,而不是在文本视图中,请执行以下操作:

adapter = new ArrayAdapter<CharSequence>(activity, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

【讨论】:

  • 这是一个更完整的解决方案,IMO。
  • 此解决方案的问题是在 onClick-highlighting 期间复选框可见
猜你喜欢
  • 2020-10-10
  • 2017-05-27
  • 1970-01-01
  • 2016-06-28
  • 2012-11-27
  • 2012-02-27
  • 2017-06-06
  • 1970-01-01
相关资源
最近更新 更多