猿问

如何获得动态微调器选择的数组中的项目ID?

我完美地创建了动态微调器,如下所示


        k++;

        flag=k;

        final LinearLayout.LayoutParams lparams = new 

        LinearLayout.LayoutParams(380,120);

        lparams.setMargins(1, 20, 1, 0);

        colorSpinner[flag] = new Spinner(getActivity());

        colorSpinner[flag].setLayoutParams(lparams);

        colorSpinner[flag].setId(flag);

        colorSpinner[flag].setAdapter(new ArrayAdapter<String>(getContext(), android.R.layout.simple_spinner_dropdown_item, color_list));


        loadColorSpinnerData(URL);


        colorSpinner[flag].setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {

            @Override

            public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l)

            {

                color_id = datalist1.get(i).getId();

            }

            @Override

            public void onNothingSelected(AdapterView<?> adapterView) {

                // DO Nothing here

            }

        });


mLayout.addView(colorSpinner[flag]);


color_array.add(colorSpinner[flag]);

如何获取数组中的颜色ID


这是行不通的


String[] Acolorid = new String[color_array.size()];

    for(int i = 0; i < color_array.size(); i++){

        Acolorid[i] = String.valueOf(color_array.get(i).getSelectedItemPosition()+1); //Acolorid[j]= String.valueOf(color_id);//color_array.get(i).getSelectedItem().toString();

        Hcolorid=String.join(",",Acolorid);

    }

请给我我想获取数组中的颜色ID而不获取项目位置的解决方案。


SMILET
浏览 125回答 1
1回答

喵喔喔

一种方法是使用View.setTag()存储以后要检索的数据。就像是 :&nbsp; &nbsp; &nbsp;public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l)&nbsp; &nbsp; &nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // get some data related to the selected item&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; color_id = datalist1.get(i).getId();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // attach it to the spinner&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; adapterView.setTag(color_id);&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; @Override&nbsp; &nbsp; &nbsp; &nbsp; public void onNothingSelected(AdapterView<?> adapterView) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // DO Nothing here&nbsp; &nbsp; &nbsp; &nbsp; }稍后检索:String[] Acolorid = new String[color_array.size()];&nbsp; &nbsp; for(int i = 0; i < color_array.size(); i++){&nbsp; &nbsp; &nbsp; &nbsp; // get the saved data&nbsp; &nbsp; &nbsp; &nbsp; Object data = color_array.get(i).getTag();&nbsp; &nbsp; &nbsp; &nbsp; if (data != null) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Acolorid[i] = data.toString();&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; }&nbsp; &nbsp; Hcolorid=String.join(",",Acolorid);
随时随地看视频慕课网APP

相关分类

Java
我要回答