java - 是否可以在 Android 中设置提示 Spinner

标签 java android spinner

是否有为微调器提供类似于为编辑文本字段提供的提示的提示。我知道您可以使用为您提供标题栏的提示,但仍将初始微调器字段留空,直到您单击微调器。我目前有一种粗略的方法将虚拟字段设置为微调器数组的第一部分,这是问题,然后在最后进行检查以确保微调器不等于问题字符串。有没有更清洁/更好的方法?

谢谢!

最佳答案

这是一个可能比 Ravi Vyas 代码更简单的解决方案(感谢您的启发!):

ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_dropdown_item) {

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {

        View v = super.getView(position, convertView, parent);
        if (position == getCount()) {
            ((TextView)v.findViewById(android.R.id.text1)).setText("");
            ((TextView)v.findViewById(android.R.id.text1)).setHint(getItem(getCount())); //"Hint to be displayed"
        }

        return v;
    }       

    @Override
    public int getCount() {
        return super.getCount()-1; // you dont display last item. It is used as hint.
    }

};

adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
adapter.add("Item 1");
adapter.add("Item 2");
adapter.add("Hint to be displayed");

spinner.setAdapter(adapter);
spinner.setSelection(adapter.getCount()); //display hint

关于java - 是否可以在 Android 中设置提示 Spinner,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6602339/

相关文章:

Android 2.2 - 如何设置微调器的 alpha 属性?

java - 第二个旋转器取决于第一个旋转器 (Xamarin VS)

android - 在微调器上设置初始文本

java - Quick blox 使用 Smack 库连接

java - Spark Java中多列的聚合

java.lang.NoClassDefFoundError : Could not initialize class 错误

java - 如何将文本框置于屏幕中央并同时将三个按钮置于屏幕底部?

Android:在 4.4 中,Paint.measureText() 不向后兼容。任何解决方法?

java - 正则表达式替换为捕获重复组

java - 如何在Android应用程序中添加表情符号支持以发表评论?