代码之家  ›  专栏  ›  技术社区  ›  Sheshadri Mantha

为什么我的android微调器在文本视图中显示单选按钮?

  •  7
  • Sheshadri Mantha  · 技术社区  · 15 年前

    注意:我不是说在选择微调器上的下拉列表时显示的单选按钮。

    下面是适当的代码片段。。。几点:

    • 这段代码在widget的构造函数中,widget是Spinner的子类
    • value是一个对象实例的数组(在创建小部件时传递)
    • 没有XML资源;所有小部件都是动态创建的

    Q: 我错过了什么?在我看来,我缺少了微调器的某些属性,这导致单选按钮也显示在微调器的文本部分。

    --剪贴码--

    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");
        }
    ...
    

    2 回复  |  直到 10 年前
        1
  •  18
  •   dahvyd    13 年前

    adapter = new ArrayAdapter<CharSequence>(activity, android.R.layout.simple_spinner_item);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    
        2
  •  14
  •   franklins    15 年前

    在创建适配器时,请使用“简单”微调器“项目”而不是“简单”微调器“下拉”项目

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