Android 微调器上的setPrompt不工作

Android 微调器上的setPrompt不工作,android,spinner,Android,Spinner,我对android开发非常陌生,我似乎有一个我无法理解的问题。我有一个微调器,值设置得很好,但没有出现提示。我尝试在xml和java代码中都设置了这一点,但两者都不起作用。下面是我的配置。我觉得我错过了一些基本的东西,但我还不知道它是什么 任何帮助都将不胜感激。克雷格 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/a

我对android开发非常陌生,我似乎有一个我无法理解的问题。我有一个微调器,值设置得很好,但没有出现提示。我尝试在xml和java代码中都设置了这一点,但两者都不起作用。下面是我的配置。我觉得我错过了一些基本的东西,但我还不知道它是什么

任何帮助都将不胜感激。克雷格

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#000000" >

    <Spinner
        android:id="@+id/band"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:layout_marginTop="72dp"
        android:prompt="@string/year_prompt"
        android:textColor="#F0F0F0" />

    <Spinner
        android:id="@+id/spinner1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:layout_marginTop="28dp"
        android:entries="@array/year_array"
        android:prompt="@string/year_prompt"
        android:textColor="#F0F0F0" />

</RelativeLayout>




<string name="year_prompt">Select A Year</string>
<string-array name="year_array">
    <item >2000</item>
    <item >2001</item>
    <item >2002</item>
    <item >2003</item>
    <item >2004</item>
    <item >2005</item>
</string-array>

您的升级未显示的原因是,在android 3.0+中,没有空间显示提示

这是spinner 3.0之前版本的屏幕截图

提示在顶部,上面写着选择一个国家,屏幕截图

因此,不再显示提示

有一些可能性

首先,您可以只在列表数组的顶部添加一个项,这表示与提示符相同的内容

否则,您可以使用按钮并从中创建下拉列表

首先,在布局中,用按钮替换微调器,并为其提供提示文本

然后将微调器上的项目列表移动到名为optionmenu.xml的文件中

然后声明您的按钮并为其设置onClickListener

在该方法中,放入以下代码

在第四行,您指定的布局是optionmenu布局

public void showPopup(View v) {
PopupMenu popup = new PopupMenu(this, v);
MenuInflater inflater = popup.getMenuInflater();
inflater.inflate(R.layout.optionmenu, popup.getMenu());
popup.show();
} 调用此方法时,需要执行以下操作

    View p = (View)findViewById(R.id.spinner button);
showPopup(p);
在此代码价格中,视图p是要显示菜单上角位置的视图。所以在这种情况下,它将是您的按钮

请参见此处的答案以实施它-

在每种情况下:。。。。。语句中,放置一行,将按钮文本设置为字符串

case R.id.item1:
按钮。setTextitem1;>

这里还有其他一些很好的解决方案-


你使用的是什么版本的android?在android 3.0+中,我再也没有注意到显示的提示,我目前正在使用4.1.2。这是否意味着提示功能已被弃用?有没有更好的方法来完成同样的事情。非常感谢。这是非常有益的信息。我将发布我的最终解决方案。CraigFWIW-我尝试了按钮方法,效果很好。功能是完美的,但我真的没有挖掘太多的用户界面。然后我决定使用列表数组的第一个值,以获得请选择的值。。。。我不喜欢在微调器中有假值,然后必须围绕它们进行编码,例如单击假值,但它似乎工作正常,UI更干净。谢谢大家。你们要找的东西可以用这个来完成