【问题标题】:Android populate Spinner with 2 ArrayListAndroid 使用 2 个 ArrayList 填充 Spinner
【发布时间】:2018-03-23 00:29:07
【问题描述】:

如何使用 2 个 ArrayList 填充微调器?例如:我有 2 个数组列表

<string-array name="month">
<item>Gen</item>
<item>Feb</item>
<item>Mar</item>
</string-array>

<string-array name="monthN">
<item>0</item>
<item>01</item>
<item>02</item>
</string-array>

在微调器中,我希望以这种方式查看列表:

0 Gen 01 Feb 02 Mar

现在我有一个简单的适配器

ArrayAdapter<CharSequence> arrayAdapter = ArrayAdapter.createFromResource(this, R.array.month,
        android.R.layout.simple_spinner_item);
            arrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
                    monthSelector.setAdapter(arrayAdapter);

【问题讨论】:

    标签: java android arraylist spinner


    【解决方案1】:

    遍历您的字符串数组并将字符串连接在一起。看起来像这样:

    ArrayList<String> concatenated = new ArrayList<>();
    String[] months = getResources().getStringArray(R.string.month);
    String[] numbers = getResources().getStringArray(R.string.monthN);
    for(int i = 0; i < months.length; i++) {
        concatenated.add(numbers[i] + " " + months[i]);
    }
    

    现在concatenated 的每个元素看起来都像NUMBER NAME

    【讨论】:

      【解决方案2】:

      如果您希望月份出现在微调器中,并且选择的值为数字,请尝试以下操作:

       private void method name{
       ArrayList<dateStruct> datesArray = new ArrayList(dateStruct>();
       dateStruct = new dateStruct();
       String[] months = getResources().getStringArray(R.string.month);
       String[] numbers = getResources().getStringArray(R.string.monthN);
       // Build dates list and add to datesArray
       for(int i = 0; i < months.length; i++) {
          dateStruct.dateNumber = numbers[i];
          dateStruct.dateName = months[i];
          datesArray.add().dateStruct();
      }
      
      // bind to Spinner control
      ArrayAdapter<dateStruct> arrayAdapter = new ArrayAdapter< (MainActivity.this, R.layout.support_simple_spinner_dropdown_item, datesArray);
      taskListDropdown_control.setAdapter(arrayAdapter);
      }
      
       public class dateStruct
         {
            public String dateNumber;
            public String dataName;
         }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-09-10
        • 1970-01-01
        相关资源
        最近更新 更多