我有包含所有国家/地区名称的字符串数组,以及另一个包含相应国家/地区代码的字符串数组.
我将国家/地区名称字符串设置为spinner.
当我从微调框选择项目时,应将其相应的国家/地区代码设置为微调框.该项目也应更改为Code.
同样,如果我选择其他项目,则其代码也应设置为微调框和项目.但是我选择的第一个应该更改为其原始国家名称.
我应该怎么做?
XML
<relativeLayout xmlns:androID="http://schemas.androID.com/apk/res/androID"xmlns:tools="http://schemas.androID.com/tools"androID:layout_wIDth="match_parent"androID:layout_height="match_parent"androID:paddingBottom="@dimen/activity_vertical_margin"androID:paddingleft="@dimen/activity_horizontal_margin"androID:paddingRight="@dimen/activity_horizontal_margin"androID:paddingtop="@dimen/activity_vertical_margin"tools:context="com.example.temp.MainActivity" ><Spinner androID:ID="@+ID/spinnerCountry" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:layout_alignParenttop="true" androID:layout_centerHorizontal="true" androID:layout_margintop="124dp" /> </relativeLayout>
Java代码
package com.example.temp;import androID.app.Activity;import androID.os.Bundle;import androID.vIEw.Menu;import androID.vIEw.MenuItem;import androID.Widget.ArrayAdapter;import androID.Widget.Spinner;public class MainActivity extends Activity { final String[] countrIEs = new String[] {"Afghanistan(AF)", "Albania(AX)", "Algeria(AL)", "American Samoa(DZ)", "Andorra(AS)"}; final String[] countrycodes = new String[]{"AF","AX","AL","DZ","AS"}; Spinner spinnerCountry; ArrayAdapter<String> arrayAdapter; @OverrIDe protected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.activity_main); spinnerCountry=(Spinner)findVIEwByID(R.ID.spinnerCountry); arrayAdapter = new ArrayAdapter<String>(getApplicationContext(), androID.R.layout.simple_List_item_1,countrIEs); spinnerCountry.setAdapter(arrayAdapter); }}
我无法在我的应用程序中使用原始照片时将其共享.
但是,我正在共享与原始代码相同的代码.
从微调框选择国家时,我想设置相应的代码.
解决方法:
String[] countrIEs = {"INDIA","dubAI","KSA"}; String[] country_code = {"91","971","966"}; final Spinner spinnerCountry = (Spinner)findVIEwByID (R.ID.spinnerCountry); final Spinner spinnerCountryCode = (Spinner) findVIEwByID (R.ID.spinnerCountryCode); ArrayAdapter<String> countryAdapter = new ArrayAdapter<String>(getApplicationContext(), androID.R.layout.simple_List_item_1,countrIEs); ArrayAdapter<String> countryCodeAdapter = new ArrayAdapter<String>(getApplicationContext(), androID.R.layout.simple_List_item_1,country_code); spinnerCountry.setAdapter(countryAdapter); spinnerCountryCode.setAdapter(countryCodeAdapter); spinnerCountry.setonItemSelectedListener(new OnItemSelectedListener() { @OverrIDe public voID onItemSelected(AdapterVIEw<?> arg0, VIEw arg1,int position, long arg3) { spinnerCountryCode.setSelection(position); } @OverrIDe public voID onnothingSelected(AdapterVIEw<?> arg0) { } }); spinnerCountryCode.setonItemSelectedListener(new OnItemSelectedListener() { @OverrIDe public voID onItemSelected(AdapterVIEw<?> arg0, VIEw arg1,int position, long arg3) { spinnerCountry.setSelection(position); } @OverrIDe public voID onnothingSelected(AdapterVIEw<?> arg0) { } });
这是一些可以解决您问题的代码.
说明:
假设您有两个微调器R.ID.spinnerCountry和R.ID.spinnerCountryCode.
如您所见,我创建了两个分别包含countryname和countryCode的数组.
工作流程:
当我在微调器中选择一项时,其他微调器会加载与该位置相对应的另一项.
代码是自解释的!
总结以上是内存溢出为你收集整理的android-根据另一个微调框选择更改微调框全部内容,希望文章能够帮你解决android-根据另一个微调框选择更改微调框所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)