如何在Spinner中获取国家/地区名称和国家/地区呼叫(ISD)代码

时间:2015-04-06 10:52:19

标签: java android

在我的Android应用程序中。我有一个注册页面,用户必须输入他/她的手机号码。

我想在移动设备左侧显示一个微调器没有textview。当点击微调器显示一个列表(国家名称,国家/地区呼叫代码(ISD号码)。在选择特定行国家代码后应反映在移动号码文本视图中,之后应该输入移动号码。

Gmail Registration Page一样。

2 个答案:

答案 0 :(得分:1)

只需使用一些带有listview的简单下拉Spinner,并传递一个包含所有国家/地区名称和国家/地区调用(ISD)的字符串数组。像这样:

<string-array name="CountryCodes" >
<item>93,AF</item>
<item>355,AL</item>
<item>297,AW</item>
<item>61,AU</item>
<item>43,AT</item>
<item>994,AZ</item>
<item>973,BH</item>
<item>880,BD</item>
<item>375,BY</item>
<item>32,BE</item>
<item>501,BZ</item>
<item>229,BJ</item>
<item>975,BT</item>
<item>591,BO</item>
<item>387,BA</item>
<item>267,BW</item>
<item>55,BR</item>
<item>673,BN</item>
<item>359,BG</item>
<item>226,BF</item>
<item>95,MM</item>
<item>257,BI</item>
<item>855,KH</item>
<item>237,CM</item>
<item>1,CA</item>
<item>238,CV</item>
<item>236,CF</item>
<item>235,TD</item>
<item>56,CL</item>
<item>86,CN</item>
<item>61,CX</item>
<item>61,CC</item>
<item>57,CO</item>
<item>269,KM</item>
<item>242,CG</item>
<item>243,CD</item>
<item>682,CK</item>
<item>506,CR</item>
<item>385,HR</item>
<item>53,CU</item>
<item>357,CY</item>
<item>420,CZ</item>
<item>45,DK</item>
<item>263,ZW</item>
</string-array>

Here是完整列表。 以下是针对具有listview的微调器的一些教程(thisthis)。 当用户从列表中选择一个时,请执行以下操作:

public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
// Get select item
int sid=spinnerDropDown.getSelectedItemPosition();
your_txtview.setText(""+ countries[sid]);
 }

你走了!干杯!!

答案 1 :(得分:1)

请参阅以下代码,它可能会对您有所帮助

    private ArrayList<String> mCountries = new ArrayList<String>();
    public void getCountryData()
    {
        Locale[] locales = Locale.getAvailableLocales();
         for (Locale locale : locales)
         {
                String country = locale.getDisplayCountry();
                if (country.trim().length()>0 && !mCountries.contains(country))
                {
                    mCountries.add(country);
                }
          }
            Collections.sort(mCountries);
    }