有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何从字符串列表中设置微调器中的值和文本?

我正在开发安卓 spinner控件。我已经填充了字符串列表以显示在微调器中

String[] items = new String[]{ "Office", "Home", "College", "Uncle's Home", "CoDebuggers"};
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 安卓.R.layout.simple_spinner_dropdown_item, items);
        SpinnerName.setAdapter(adapter);

这是工作得很好,但我需要为我的列表添加唯一的id,如

  1. 办公室=4

  2. 首页=8

  3. 学院=9

  4. 叔叔的家=10

  5. CoDebiggers=55

    如何使用字符串列表设置这些值? 如何通过更改所选项目来获取这些值


共 (2) 个答案

  1. # 1 楼答案

    创建另一个数组,保持两个数组的大小相同。一个用于项目,另一个用于项目ID。在spinner的OnclickLisener内部调用itemsId数组,如下所示

    String[] itemsId = new String[]{ "4", "8", "9", "10","55"};
    String[] items = new String[]{ "Office", "Home", "College", "Uncle's Home", "CoDebuggers"};
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, items);
        SpinnerName.setAdapter(adapter);
    SpinnerName.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
    
               String id = itemsId.get(i);
            }
            @Override
            public void onNothingSelected(AdapterView<?> adapterView) {
    
            }
        });
    
  2. # 2 楼答案

    必须创建两个数组,一个用于项,另一个用于项的值

    String[] items = new String[]{ "Office", "Home", "College", "Uncle's Home", "CoDebuggers"};
    int[] items_value = new String[]{ 4, 8, 9, 10, 55};
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, items);
    SpinnerName.setAdapter(adapter);
    

    从值数组中获取微调器选定项的相应值:

    int value=items_value[SpinnerName.getSelectedItemPosition()]