【问题标题】:How to Select an Array By Selected List Position in Android如何在 Android 中通过选定的列表位置选择数组
【发布时间】:2015-08-16 21:19:46
【问题描述】:

我有一个字符串数组来保存一些选项和 470 个字符串数组来保存这个选项的值我使用微调器来填充选项字符串数组。我想根据所选选项从 470 个数组中选择一个数组。例如,如果我选择 2. 选项,我想将 values2 数组打印到屏幕上。我能怎么做。我不想使用 470 if then else 阻塞。

final  String[] options={"option0","option1","option2","option3"...};

final  String[] values0={"kjhk","kjhkhkhk","asfasd"};
final  String[] values1={"gvctc","ononnnın","njbsalna"};
final  String[] values2={"aasd","qwert","asadad"};
.
.
final  String[] values470{"ljlj","ljljl","opıuo"};

spinner1.setOnItemSelectedListener(new OnItemSelectedListener() {
        public void onItemSelected(AdapterView<?> parent, View view, final int position,long id) {


}

【问题讨论】:

  • 这个问题太宽泛了。使用数据库。去谷歌上查询。然后回来提出更具体的问题。
  • 自从一周以来我到处搜索这个,但我找不到解决方案。
  • 再一次——忘记数组和硬编码。使用数据库。

标签: java android arrays if-statement


【解决方案1】:

如果您真的想手动设置数据。 这是基于您提供的信息和数据结构的快速而肮脏的解决方案:

    Map<String,List<String>> optionToValueMap=new HashMap<>();
    List<String>values= new ArrayList<>();
    values.add("1");
    values.add("2");
    optionToValueMap.put("option0",values);
    // get values for 'option0'
    for (String value:optionToValueMap.get("option0")){

    }

【讨论】:

    【解决方案2】:

    我不确定这是不是完美的解决方案,但它可以满足您的需求。

    final  String[] options={"option0","option1","option2","option3"...};
    final  String[] values0={"kjhk","kjhkhkhk","asfasd"};
    final  String[] values1={"gvctc","ononnnın","njbsalna"};
    final  String[] values2={"aasd","qwert","asadad"};
    //form an two dimensional array
    final String[][] values={values0,values1,values2};
    

    OnSpinner 点击事件

      spinner1.setOnItemSelectedListener(new OnItemSelectedListener() {
        public void onItemSelected(AdapterView<?> parent, View view, final int position,long id) {
    
      //here you get an particular array.
       String[] array=values[position];
    

    }

    【讨论】:

      猜你喜欢
      • 2011-06-02
      • 1970-01-01
      • 2020-02-12
      • 1970-01-01
      • 2016-03-03
      • 1970-01-01
      • 1970-01-01
      • 2016-12-10
      • 2012-04-08
      相关资源
      最近更新 更多