Android 微调器上的setPrompt不工作
我对android开发非常陌生,我似乎有一个我无法理解的问题。我有一个微调器,值设置得很好,但没有出现提示。我尝试在xml和java代码中都设置了这一点,但两者都不起作用。下面是我的配置。我觉得我错过了一些基本的东西,但我还不知道它是什么 任何帮助都将不胜感激。克雷格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
<?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更干净。谢谢大家。你们要找的东西可以用这个来完成