2016-08-14 85 views
1

我需要实现一个Spinner具有这些属性:Android的“定制”微调

  • Spinner允许用户从一组固定字符串的选择。这些字符串是本地化的,所以英国用户有不同的选择比法国用户。
  • 当我尝试检索Spinner所选项目的值时,我不希望它返回所选项目的本地化值,而是返回“非本地化”值(在我的情况下为英文该字符串的值)。

我怎么能做到这种事情?自定义Adapter就足够了吗?我在这里呆了一段时间。

回答

0

好吧,自定义Adapter就足够了。我还为包含两个TextView s的定义了一个布局资源(用于spinner中的元素):其中一个具有可见性=“可见”,另一个具有可见性=“消失”。前者持有本地化价值,后者持有英国价值。

0

在你string.xml把

<string-array name="language"> 
    <item>English</item> 
    <item>Franch</item> 
    </string-array> 

在你的XML,你用微调

 <Spinner 
     android:id="@+id/language" 
     android:layout_width="60dp" 
     android:layout_height="30dp" 
     android:entries="@array/language"></Spinner> 

终于在Java文件

Spinner language1= (Spinner) findViewById(R.id.language); 
language.getSelectedView().toString()) 

它的工作对我来说..

+0

请考虑:您有多个名为“languages”的字符串数组,其中一个用于英语区域设置,另一个用于法语区域设置。在这种情况下,英文用户可以在微调器中输入这些条目:“英语”,“法语”。相反,法国用户将拥有这些条目:“Anglais”,“Français”。我想达到的是这样的:当用户选择“英语”或“英语”时,我希望微调者返回我“英语”,并且当用户选择“法语”或“Français”时,我希望它返回我“法语“ –