提示旋转器

时间:2015-02-13 11:08:21

标签: java android

我知道在网络上针对同一类问题有很多解决方案,但我仍然无法找到满足我需求的解决方案。

我的布局xml中有一个微调器,strings.xml中有一个字符串数组。

<string-array name="days">
        <item>Monday</item>
        <item>Tuesday</item>
        <item>Wednesday</item>
        <item>Thursday</item>
        <item>Friday</item>
        <item>Saturday</item>
    </string-array>

和java代码

Spinner days=(Spinner) findViewById(R.id.days_1);
ArrayAdapter adapter=ArrayAdapter.createFromResource(this,
R.array.days,R.layout.support_simple_spinner_dropdown_item);
    days.setAdapter(adapter);

我想为微调器设置提示。

我已经阅读了同一个问题的其他答案,但是当我在字符串数组中添加一个项目时

<string-array name="days">
            <item>Monday</item>
            <item>Tuesday</item>
            <item>Wednesday</item>
            <item>Thursday</item>
            <item>Friday</item>
            <item>Saturday</item>
            <item>Select the Day</item>  <!--New item-->
        </string-array>

并在此行之后的java中

days.setSelection(/*last element*/);

发生的情况是提示在下拉列表中变为永久性的。它不像edittext中的提示那样工作。

请建议我设置一些提示的方法。

提前致谢。

1 个答案:

答案 0 :(得分:0)

你可以试试这个 将您的字符串数组更改为

    <string-array name="days">
        <item />
        <item>Monday</item>
        <item>Tuesday</item>
        <item>Wednesday</item>
        <item>Thursday</item>
        <item>Friday</item>
        <item>Saturday</item>            
    </string-array>

现在为您的微调器

选择项目选择的侦听器
    days.setOnItemSelectedListener(new OnItemSelectedListener() {

        @Override
        public void onItemSelected(AdapterView<?> parent, View view,
                int position, long id) {
            TextView tv = (TextView) days.getChildAt(position);
            if (position == 0) {

                if (tv != null) {
                    tv.setText("Select the Day");
                    tv.setTextColor(Color.GRAY);
                }
            }

        }

        @Override
        public void onNothingSelected(AdapterView<?> parent) {
            // TODO Auto-generated method stub

        }
    });

就是这样......享受......