如何删除android中微调控件上出现的文本?

时间:2011-05-13 07:24:34

标签: android

默认情况下,spinner控件上会出现一个文本...。这个文本是数组中第一个与微调器适配器关联的值。

选择后,此文本将更改为我选择的值。

我想删除微调控件上显示的这个文本。我该怎么做呢?

2 个答案:

答案 0 :(得分:2)

要在微调器“关闭”时隐藏所选文本,您必须定义自定义适配器和布局。为了了解这是什么,我建议您阅读this blog entry

所以你必须采取的步骤是:

  • 为微调器“关闭”时定义自定义布局。如果需要,还可以为微调器的下拉模式定义自定义布局。
  • 实施自定义适配器。您必须覆盖getView()方法并使其适应您的自定义布局。在您的情况下,您只需创建和膨胀自定义布局,因为您不希望显示任何不需要将它们绑定到视图的值。如果您还需要自定义drowdown布局,则还必须覆盖getDropDownView()方法。
  • 在您的活动中:创建自定义适配器的实例,将数据源(数组或光标)绑定到它并将适配器绑定到您的微调器。

答案 1 :(得分:1)

添加新课程

public class MySpinner extends Spinner {

    private Context _context;

    public MySpinner(Context context, AttributeSet attrs) {
        super(context, attrs);
        _context = context;
    }

    public MySpinner(Context context) {
        super(context);
        _context = context;
    }

    public MySpinner(Context context, AttributeSet attrs, int defStyle) {
        super(context);
        _context = context;
    }

    @Override
    public View getChildAt(int index) {
        View v = new View(_context);
        return v;
    }

}
布局中的

<[package].MySpinner android:id="@+id/Spinner01"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />