2015-04-06 142 views
0

在我的android应用程序中。我有一个注册页面,用户必须输入他/她的手机号码。如何获得微调框中的国家和国家呼叫(ISD)代码

我想在移动的左侧显示一个微调框没有textview。点击微调时,显示国名,国家代码(国际直拨电话号码)的列表,在选择特定行国家代码后应在移动号码文本视图中反映,之后应输入移动号码

作为。那里Gmail Registration Page

+0

检查此链接,HTTP://stackoverflow.com/questions/23291199/how-to-get-country-isd-code-when-user- select-country-name-from-spinner – 2015-04-06 10:55:04

+0

谢谢Jignesh。但我正在寻找任何内置函数或任何第三方的一些java类来获取国家名称和带有标志的isd代码,就像Java中的DatePickerDialog一样。 – 2015-04-06 10:59:10

+0

[使用Android获取电话国家代码]可能的重复(http://stackoverflow.com/questions/5402253/getting-telephone-country-code-with-android) – 2015-04-06 12:03:39

回答

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); 
    } 
+0

嘿。感谢您的代码。它的工作如我所料。但在这里我只能在Spinner中获得国家名称。我想要的是当用户从微调器中选择特定的国家时,在TextView中显示国家代码(ISD代码)。 (例如印度---->应显示+91) – 2015-04-08 08:00:26

1

只要使用一些简单的下拉微调与ListView和传递一个字符串数组,它包含所有的国名和国家拨打电话(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是完整列表。 这里有一些教程(thisthis)与列表视图。 当用户从列表中选择一个,然后做这样的事情:

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

在这里你去!干杯!!