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