我知道在网络上针对同一类问题有很多解决方案,但我仍然无法找到满足我需求的解决方案。
我的布局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中的提示那样工作。
请建议我设置一些提示的方法。
提前致谢。
答案 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
}
});
就是这样......享受......