如何显示Arraylist的每个值并将其设置为每个动态微调器字段的默认值?

时间:2019-06-01 04:55:04

标签: java json android-studio arraylist spinner

我有一个具有两个值 Aircon 手机的arrayList,我需要做的是将arraylist的此值查看为不同的动态微调器布局并将其设置为默认值值

对于shor:动态字段微调器的数量取决于数组列表中有多少值

如果ArrayList A具有2个值,则动态字段微调器也为2。

我已经可以基于arrayList中的值数量查看微调器,但是我无法为每个微调器设置默认值。

这是我显示动态字段的代码


    if (format.equalsIgnoreCase(Keys.SELECT)) {
       if (title.equalsIgnoreCase(Keys.CATEGORY)) {
          products = new ArrayList<String>();
          mProductList = o.getJSONArray(Keys.LIST);
          for (int k = 0; k < mProductList.length(); k++) {
             products.add(mProductList.getString(k));
           }
         addTextViews(title);
         addSpinner(products, mKeys.get(i));
         addLineSeparator();
       }
    }

这是我尝试将其值放入动态微调框字段中的方法

 public void addSpinner(ArrayList<String> stringArrayList, String id) {

        LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
                LinearLayout.LayoutParams.MATCH_PARENT,
                LinearLayout.LayoutParams.WRAP_CONTENT);

        params.setMargins(convertDpToPixel(16),
                convertDpToPixel(0),
                convertDpToPixel(16),
                convertDpToPixel(0)
        );

        mSpinner = new Spinner(getContext());
        ArrayAdapter<String> adapter =
                new ArrayAdapter<String>(getContext(), android.R.layout.simple_list_item_1, stringArrayList);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        mSpinner.setAdapter(adapter);

        mSpinner.setSelection(getSpinnerIndex(mSpinner, ArrayProducts));
        mSpinner.setTag(id);
        mSpinner.setLayoutParams(params);
        mLinearLayout.addView(mSpinner);
    }

这是getSpinnerIndex方法

private int getSpinnerIndex(Spinner mSpinner, ArrayList<String> myString) {
        for (int i=0;i<mSpinner.getCount();i++){
            if (mSpinner.getItemAtPosition(i).toString().equalsIgnoreCase(String.valueOf(myString))){
                return i;
            }
        }
        return 0;
    }

预期结果

ArrayList的

值:“空调”,“自行车”

微调框1的默认值:

        Aircon

Spinner 2默认值:

         Bike

实际结果

ArrayList的

值:“空调”,“自行车”

微调框1的默认值:

        Aircon

Spinner 2默认值:

       Aircon

0 个答案:

没有答案