2015-04-06 41 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]); 
} 

在這裏你去!乾杯!!