Android 一个微调器可以使用两个字符串列表吗?

Android 一个微调器可以使用两个字符串列表吗?,android,spinner,Android,Spinner,我想使用一个微调器,它可以同时处理两个字符串arraylist。我真正想要的是,当用户单击微调器时,显示视图应该显示第一个arraylist的字符串项,但在选择该微调器上的一个项目后,它应该显示第二个arraylist的对应项 例如,我有两个列表,第一个是状态列表,第二个是状态代码列表,所以当我按下微调器时,出现的视图应该显示状态列表,但在选择一个状态(例如Albama)后,微调器应该显示状态代码(AL)。在onClick()中第一个微调器的方法在运行时创建另一个微调器,并根据单击的项目将第二个

我想使用一个微调器,它可以同时处理两个字符串arraylist。我真正想要的是,当用户单击微调器时,显示视图应该显示第一个arraylist的字符串项,但在选择该微调器上的一个项目后,它应该显示第二个arraylist的对应项

例如,我有两个列表,第一个是状态列表,第二个是状态代码列表,所以当我按下微调器时,出现的视图应该显示状态列表,但在选择一个状态(例如Albama)后,微调器应该显示状态代码(AL)。

onClick()中
第一个微调器的方法在运行时创建另一个微调器,并根据单击的项目将第二个字符串数组附加到该微调器。。我是说像这样的

Spinner s1 = findViewById(R.id.spinner01);
ArrayAdapter a = new ArrayAdapter(/*/required stuff*/,array1)
s1.setAdapter(a);
s1.setOnClickListener(new OnClickListener(){
protected void onClick(View v){
    Spinner s = new Spinner(/*/activity Instance*/);
ArrayAdapter a1 = new ArrayAdapter(/*/required stuff*/,array2)
s.setAdapter(a1);
//rest goes here
}
});
在第一个微调器的
onClick()
方法中,在运行时创建另一个微调器,并根据单击的项目将第二个字符串数组附加到该微调器。。我是说像这样的

Spinner s1 = findViewById(R.id.spinner01);
ArrayAdapter a = new ArrayAdapter(/*/required stuff*/,array1)
s1.setAdapter(a);
s1.setOnClickListener(new OnClickListener(){
protected void onClick(View v){
    Spinner s = new Spinner(/*/activity Instance*/);
ArrayAdapter a1 = new ArrayAdapter(/*/required stuff*/,array2)
s.setAdapter(a1);
//rest goes here
}
});

最干净的方法是将数据正确地包装在对象中。toString方法将用于说明如何在微调器中显示数据。然后在OnClick侦听器中,您可以从适配器获取状态,然后从其代码获取状态

public class State {
  String code;
  String name;

  public State(String n, String c) {
    name = n;
    code = c;
  }

  public String toString() { 
    return name; 
  }
}
然后为适配器使用状态对象的数组列表

基于教程的示例:

替换:

ArrayAdapter adapter = ArrayAdapter.createFromResource(
        this, R.array.planets, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
作者:


最干净的方法是将数据正确地包装在对象中。toString方法将用于说明如何在微调器中显示数据。然后在OnClick侦听器中,您可以从适配器获取状态,然后从其代码获取状态

public class State {
  String code;
  String name;

  public State(String n, String c) {
    name = n;
    code = c;
  }

  public String toString() { 
    return name; 
  }
}
然后为适配器使用状态对象的数组列表

基于教程的示例:

替换:

ArrayAdapter adapter = ArrayAdapter.createFromResource(
        this, R.array.planets, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
作者:


致ntc和MarvinLabs:-我不知道你们是否了解我的问题,但我没有得到你们的解决方案。然后,首先学习如何使用微调器:致ntc和MarvinLabs:-我不知道你们是否了解我的问题,但我没有得到你们的解决方案。然后,首先学习如何使用微调器:您能告诉我如何从中获取代码吗如果用户单击此微调器上的项目,则此示例中的微调器?您能否告诉我,如果用户单击此微调器上的项目,如何从微调器中获取代码?