Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 创建用于选择国家/地区代码的微调器_Android_Spinner_Mobile Country Code - Fatal编程技术网

Android 创建用于选择国家/地区代码的微调器

Android 创建用于选择国家/地区代码的微调器,android,spinner,mobile-country-code,Android,Spinner,Mobile Country Code,我想创建一个微调器,用于选择一个国家并获取其国家代码 我已找到此项目列表: <string-array name="countryCodes"> <item>93,AF</item> <item>355,AL</item> <item>213,DZ</item> <item>376,AD</item> <item>244,AO</i

我想创建一个微调器,用于选择一个国家并获取其国家代码

我已找到此项目列表:

<string-array name="countryCodes">
    <item>93,AF</item>
    <item>355,AL</item>
    <item>213,DZ</item>
    <item>376,AD</item>
    <item>244,AO</item>
    <item>672,AQ</item>
    <item>54,AR</item>
    <item>374,AM</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>253,DJ</item>
    <item>670,TL</item>
    <item>593,EC</item>
    <item>20,EG</item>
    <item>503,SV</item>
    <item>240,GQ</item>
    <item>291,ER</item>
    <item>372,EE</item>
    <item>251,ET</item>
    <item>500,FK</item>
    <item>298,FO</item>
    <item>679,FJ</item>
    <item>358,FI</item>
    <item>33,FR</item>
    <item>689,PF</item>
    <item>241,GA</item>
    <item>220,GM</item>
    <item>995,GE</item>
    <item>49,DE</item>
    <item>233,GH</item>
    <item>350,GI</item>
    <item>30,GR</item>
    <item>299,GL</item>
    <item>502,GT</item>
    <item>224,GN</item>
    <item>245,GW</item>
    <item>592,GY</item>
    <item>509,HT</item>
    <item>504,HN</item>
    <item>852,HK</item>
    <item>36,HU</item>
    <item>91,IN</item>
    <item>62,ID</item>
    <item>98,IR</item>
    <item>964,IQ</item>
    <item>353,IE</item>
    <item>44,IM</item>
    <item>972,IL</item>
    <item>39,IT</item>
    <item>225,CI</item>
    <item>81,JP</item>
    <item>962,JO</item>
    <item>7,KZ</item>
    <item>254,KE</item>
    <item>686,KI</item>
    <item>965,KW</item>
    <item>996,KG</item>
    <item>856,LA</item>
    <item>371,LV</item>
    <item>961,LB</item>
    <item>266,LS</item>
    <item>231,LR</item>
    <item>218,LY</item>
    <item>423,LI</item>
    <item>370,LT</item>
    <item>352,LU</item>
    <item>853,MO</item>
    <item>389,MK</item>
    <item>261,MG</item>
    <item>265,MW</item>
    <item>60,MY</item>
    <item>960,MV</item>
    <item>223,ML</item>
    <item>356,MT</item>
    <item>692,MH</item>
    <item>222,MR</item>
    <item>230,MU</item>
    <item>262,YT</item>
    <item>52,MX</item>
    <item>691,FM</item>
    <item>373,MD</item>
    <item>377,MC</item>
    <item>976,MN</item>
    <item>382,ME</item>
    <item>212,MA</item>
    <item>258,MZ</item>
    <item>264,NA</item>
    <item>674,NR</item>
    <item>977,NP</item>
    <item>31,NL</item>
    <item>599,AN</item>
    <item>687,NC</item>
    <item>64,NZ</item>
    <item>505,NI</item>
    <item>227,NE</item>
    <item>234,NG</item>
    <item>683,NU</item>
    <item>850,KP</item>
    <item>47,NO</item>
    <item>968,OM</item>
    <item>92,PK</item>
    <item>680,PW</item>
    <item>507,PA</item>
    <item>675,PG</item>
    <item>595,PY</item>
    <item>51,PE</item>
    <item>63,PH</item>
    <item>870,PN</item>
    <item>48,PL</item>
    <item>351,PT</item>
    <item>1,PR</item>
    <item>974,QA</item>
    <item>40,RO</item>
    <item>7,RU</item>
    <item>250,RW</item>
    <item>590,BL</item>
    <item>685,WS</item>
    <item>378,SM</item>
    <item>239,ST</item>
    <item>966,SA</item>
    <item>221,SN</item>
    <item>381,RS</item>
    <item>248,SC</item>
    <item>232,SL</item>
    <item>65,SG</item>
    <item>421,SK</item>
    <item>386,SI</item>
    <item>677,SB</item>
    <item>252,SO</item>
    <item>27,ZA</item>
    <item>82,KR</item>
    <item>34,ES</item>
    <item>94,LK</item>
    <item>290,SH</item>
    <item>508,PM</item>
    <item>249,SD</item>
    <item>597,SR</item>
    <item>268,SZ</item>
    <item>46,SE</item>
    <item>41,CH</item>
    <item>963,SY</item>
    <item>886,TW</item>
    <item>992,TJ</item>
    <item>255,TZ</item>
    <item>66,TH</item>
    <item>228,TG</item>
    <item>690,TK</item>
    <item>676,TO</item>
    <item>216,TN</item>
    <item>90,TR</item>
    <item>993,TM</item>
    <item>688,TV</item>
    <item>971,AE</item>
    <item>256,UG</item>
    <item>44,GB</item>
    <item>380,UA</item>
    <item>598,UY</item>
    <item>1,US</item>
    <item>998,UZ</item>
    <item>678,VU</item>
    <item>39,VA</item>
    <item>58,VE</item>
    <item>84,VN</item>
    <item>681,WF</item>
    <item>967,YE</item>
    <item>260,ZM</item>
    <item>263,ZW</item>
</string-array>

93,AF
355,艾尔
213,DZ
公元376年
244,AO
672,AQ
54,AR
上午374点
297,AW
61,非盟
43,在
994,亚利桑那州
973,BH
880,BD
375,由
32岁
501,BZ
229,北京
英国电信975
591,波
387,BA
267,BW
55,BR
6.73亿
359,背景
226,BF
95毫米
257,BI
855,KH
237厘米
1,加利福尼亚州
238,CV
236,比照
235,TD
56,CL
86,中国
61,CX
61,抄送
57,公司
269公里
242,CG
243,CD
682,CK
506,铬
385小时
53,铜
公元357年
420,捷克
45,丹麦
253,DJ
670,TL
欧共体593
20,例如
503,SV
240,GQ
291,呃
372,EE
美国东部时间251
500,FK
298,FO
679,FJ
358,FI
33,FR
689,PF
佐治亚州241
220,通用汽车公司
995,通用电气
49,德
233,GH
350,GI
30,GR
299,德国劳埃德船级社
502,GT
224,GN
245千兆瓦
592千焦
509,HT
504,HN
852,香港
36,胡
91,在
62,身份证
98,IR
964,智商
353,即
44,我是
972,伊利诺伊州
39、它
225,CI
81,JP
962,乔
7,KZ
254,克
686,KI
965千瓦
996公斤
洛杉矶856
371,LV
961磅
266,LS
231,LR
218,LY
423,李
370,LT
路352号
密苏里州853
389,MK
261毫克
265兆瓦
60,我的
960毫伏
223毫升
356,MT
692,MH
222,先生
230亩
262,YT
52,MX
691,FM
373,马里兰州
377,MC
976,明尼苏达州
382,我
212,马
258,MZ
264,不适用
674,北
977,NP
31,NL
599,一个
687,北卡罗来纳州
64,新西兰
505,NI
东北227
234,NG
683,NU
850公里
47,没有
968,OM
92,PK
680,PW
507,宾夕法尼亚州
675页
595,PY
51,体育
63岁,博士
870,PN
48,PL
第351页
1、公共关系
974,QA
40,罗
7,RU
250,RW
590,基本法
西海岸685号
378,SM
第239街
966,南非
221,序号
381卢比
248,SC
232,SL
65,SG
421,SK
386,SI
677,某人
252,那么
27,ZA
82,KR
34,ES
94,LK
290,上海
下午五时零八分
249,SD
597,SR
268,SZ
46,东南
第41章
963,SY
886,TW
992,TJ
255,TZ
第66条
228,TG
690塔卡
676,到
田纳西州216号
90,TR
993,TM
688,电视
971,AE
256,UG
44,GB
380,UA
598,UY
1、美国
998,UZ
678,VU
弗吉尼亚州,39
58,VE
84,VN
681,WF
967,耶
260,ZM
263,ZW
但它不包含全名,只包含缩写形式。如果有一份英文全名的名单就好了

此外,我想为列表提供另一种显示格式,但我该如何做呢?我从android doc atm使用此方法:

    Spinner spinner = (Spinner) findViewById(R.id.spinner);
    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,R.array.planets_array, android.R.layout.simple_spinner_item);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner.setAdapter(adapter);
Spinner-Spinner=(Spinner)findViewById(R.id.Spinner);
ArrayAdapter=ArrayAdapter.createFromResource(这个,R.array.planets\u数组,android.R.layout.simple\u微调器\u项);
setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
旋转器。设置适配器(适配器);
但我不知道如何在那里编辑项目列表的内容

你能帮我吗?

这些是。您可以找到完整的列表

在JavaScript控制台中运行以下代码(使用Chrome进行测试)将以JSON格式提供代码到国家的映射:

var result = {}
var rows = document.getElementsByTagName('tr');
for (var i=1; i<rows.length; i++) {
  var code = rows[i].cells[0].textContent;
  var country = rows[i].cells[1].textContent;
  result[code] = country;
}
console.log(JSON.stringify(result));
var result={}
var rows=document.getElementsByTagName('tr');

对于(var i=1;i我为您提供了一个更干净的解决方案。您可以直接使用库。它将从样板代码中节省您的时间。您只需将CountryCodePicker视图放置在布局XML中。这是CCP视图

您的视图将与手机编辑文本类似

从游戏商店

点击CCP将打开一个对话框,其中列出了要选择的国家。在这里,您可以使用国家名称、代码名称、电话号码搜索国家。它还提供了自动设置电话号码格式的选项

所选国家/地区的详细信息可以轻松阅读。有关更多详细信息,请访问gradle中的。

    // country picker
    implementation 'com.hbb20:ccp:1.7.1'
在XML中

<com.hbb20.CountryCodePicker
                        android:id="@+id/ccp"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:background="@color/colorGreyF5"
                        android:onClick="onCountryPickerClick"
                        android:paddingStart="@dimen/margin_10" />

你所说的
是什么意思?我想给列表提供另一种显示格式
?你想要什么其他格式?我现在的做法是,我的微调器显示数据就像它写在项目中一样,例如'49,DE'。但我想让它像'Germany(+49)'或者类似的东西有一个包含代码的国家/地区列表。从那里获取数据并将其插入字符串数组。我知道这些代码,但实际上我不想为大约200个国家/地区手动编写转换器。你知道我可以从那里提取数据的方法吗?你可以从CSV文件中获取这些代码并读取它。好的,我可以创建一个字符串数组,正如我在string.xml中所希望的那样-谢谢。但还有第二个问题:如何更改显示格式?我已经让数组适配器从类中的字符串数组而不是xml文件中的字符串数组获取数据,但是我如何才能将数据导入到它?好的,过了一段时间我自己获取了数据。
string[]数组=getResources().getStringArray(R.array.countryCodes)
成功了。现在我的班上有一个数组我可以编辑。加上一个数组作为这个答案。作为一个程序员,除了使用所有准备好的东西之外,还有其他的东西。Android开发人员运行脚本很容易。谢谢。如何使
微调器
下划线为
EditText
,考虑到
EditText
,两者都是同一级别的>在一个
TextInputLayout
?@blueware中,你能详细说明这个问题吗?@HBB20,请检查我的问题:@blueware,我在那里发布了答案。让我知道它是否对你有效。(仅在该线程上)哦..什么依赖关系?如果您可以创建一个包含详细信息的GitHub问题,那么它将非常有用。下面是示例。创建活动时,我不会获取默认的选定国家代码,只有在我单击“国家选择”微调器时才能获取,即使Deafolt国家已被选中。是否有任何解决方案。@xaif您应该添加此属性app:ccp\u autoDetectCountry=“true”@SaraTalaat感谢您的评论。顺便说一句,我已经做了:)Fo
CountryCodePicker ccp;
ccp = findViewById(R.id.ccp);
    public void onCountryPickerClick(View view) {
        ccp.setOnCountryChangeListener(new CountryCodePicker.OnCountryChangeListener() {
            @Override
            public void onCountrySelected() {
                //Alert.showMessage(RegistrationActivity.this, ccp.getSelectedCountryCodeWithPlus());
                selected_country_code = ccp.getSelectedCountryCodeWithPlus();
            }
        });
    }