Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/178.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在数组中获取动态微调器选定项id?_Java_Android_Arrays_Android Spinner - Fatal编程技术网

Java 如何在数组中获取动态微调器选定项id?

Java 如何在数组中获取动态微调器选定项id?,java,android,arrays,android-spinner,Java,Android,Arrays,Android Spinner,我已经创建了动态微调器完美如下 k++; flag=k; final LinearLayout.LayoutParams lparams = new LinearLayout.LayoutParams(380,120); lparams.setMargins(1, 20, 1, 0); colorSpinner[flag] = new Spinner(getActivity());

我已经创建了动态微调器完美如下

        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]);
k++;
flag=k;
最终LinearLayout.LayoutParams lparams=新建
线性布局。布局参数(380120);
lparams.setMargins(1,20,1,0);
colorSpinner[flag]=新微调器(getActivity());
colorSpinner[flag].setLayoutParams(LPARAM);
colorSpinner[flag].setId(flag);
colorSpinner[flag].setAdapter(新的ArrayAdapter(getContext(),android.R.layout.simple_spinner_下拉列表_项,颜色_列表));
loadColorSpinnerData(URL);
colorSpinner[flag].setOnItemSelectedListener(新的AdapterView.OnItemSelectedListener()){
@凌驾
已选择公共视图(AdapterView AdapterView、View视图、int i、long l)
{
color_id=datalist1.get(i).getId();
}
@凌驾
未选择公共无效(AdapterView AdapterView){
//在这里什么也不做
}
});
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);
    }
String[]Acolorid=新字符串[color_array.size()];
对于(int i=0;i

请给我一个解决方案,我想在数组中获取颜色id而不是获取项目位置。

一种方法是使用来存储以后要检索的数据。比如:

     public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l)
        {
            // get some data related to the selected item
            color_id = datalist1.get(i).getId();
            // attach it to the spinner
            adapterView.setTag(color_id);
        }
        @Override
        public void onNothingSelected(AdapterView<?> adapterView) {
            // DO Nothing here
        }
public void未选中(AdapterView AdapterView、视图视图、int i、long l)
{
//获取与所选项目相关的一些数据
color_id=datalist1.get(i).getId();
//将其连接到微调器
adapterView.setTag(颜色标识);
}
@凌驾
未选择公共无效(AdapterView AdapterView){
//在这里什么也不做
}
请稍后检索:

String[] Acolorid = new String[color_array.size()];
    for(int i = 0; i < color_array.size(); i++){
        // get the saved data
        Object data = color_array.get(i).getTag();
        if (data != null) {
            Acolorid[i] = data.toString();
        }
    }
    Hcolorid=String.join(",",Acolorid);
String[]Acolorid=新字符串[color_array.size()];
对于(int i=0;i