Android 根据REST服务返回的值填充微调器

Android 根据REST服务返回的值填充微调器,android,json,spinner,Android,Json,Spinner,我有一个REST方法返回结果为“Res:”2。现在我需要用值1,2填充微调器。如果REST方法返回结果为“Res:”3,微调器值必须为1,2,3 这是我已经实现的代码。但微调器显示的值仅为2 Integer[] items = new Integer[]{Integer.valueOf(user2.getString("Res"))}; ArrayAdapter<Integer> adapter = new ArrayAdapter<Integer>(MainActiv

我有一个REST方法返回结果为“Res:”2。现在我需要用值1,2填充微调器。如果REST方法返回结果为“Res:”3,微调器值必须为1,2,3

这是我已经实现的代码。但微调器显示的值仅为2

Integer[] items = new Integer[]{Integer.valueOf(user2.getString("Res"))};

ArrayAdapter<Integer> adapter = new ArrayAdapter<Integer>(MainActivity.this, android.R.layout.simple_spinner_item, items);
                            cboFloorLevel.setAdapter(adapter);
Integer[]items=newinteger[]{Integer.valueOf(user2.getString(“Res”))};
ArrayAdapter=新的ArrayAdapter(MainActivity.this,android.R.layout.simple\u微调器\u项,项);
cboflorlevel.setAdapter(适配器);
注意:user2是一个JSONObject

List<Integer> numbers = new ArrayList<>();

int item = Integer.valueOf(user2.getString("Res"));

for(int i=1; i<item+1; i++){
 numbers.add(i)
}


ArrayAdapter<Integer> adapter = new ArrayAdapter<Integer>(MainActivity.this, 
android.R.layout.simple_spinner_item, numbers);
cboFloorLevel.setAdapter(adapter);
List number=new ArrayList();
int item=Integer.valueOf(user2.getString(“Res”);
对于(inti=1;i请尝试以下代码

    int end_value = Integer.valueOf(user2.getString("Res"));
    Integer[] items = new Integer[]{end_value};
    for(int i=0;i<end_value;i++){
        items[i] = i+1;
    }

    ArrayAdapter<Integer> adapter = new ArrayAdapter<Integer>(MainActivity.this, android.R.layout.simple_spinner_item, items);
    cboFloorLevel.setAdapter(adapter);
int end_value=Integer.valueOf(user2.getString(“Res”);
整数[]项=新整数[]{end_value};
对于(int i=0;i找到了我的解决方案:
您需要从java8导入阵列:

import java.util.Arrays;
然后,您可以将字符串转换为int,创建数组并用传递给数组的lambda填充该数组。setAll()

intmaxvalue=Integer.parseInt(user2.getString(“Res”);
int[]项=新int[maxValue];
数组.setAll(数组,i->i+1);
ArrayAdapter=新的ArrayAdapter(MainActivity.this,android.R.layout.simple\u微调器\u项,项);
cboflorlevel.setAdapter(适配器);

我从问题中了解到,如果json响应是

{“Res:”3}
您需要使用
1,2,3填充微调器。

int item = Integer.valueOf(user2.getString("Res"));

ArrayList <Integer>items = new ArrayList<>();

for(int j=1; j < item+1 ; j++){
 items.add(j);
}

ArrayAdapter<Integer> adapter = new ArrayAdapter<Integer>(MainActivity.this, 
android.R.layout.simple_spinner_item, items);
cboFloorLevel.setAdapter(adapter);
int item=Integer.valueOf(user2.getString(“Res”);
ArrayList items=新建ArrayList();
对于(int j=1;j
老实说,我看不出您在尝试什么。您所做的只是创建一个整数数组,并用json字符串中的一个数字填充它。就是这样。为什么不尝试将1和2添加到该数组中?更好的方法是将起始值设为0而不是1,条件I
int item = Integer.valueOf(user2.getString("Res"));

ArrayList <Integer>items = new ArrayList<>();

for(int j=1; j < item+1 ; j++){
 items.add(j);
}

ArrayAdapter<Integer> adapter = new ArrayAdapter<Integer>(MainActivity.this, 
android.R.layout.simple_spinner_item, items);
cboFloorLevel.setAdapter(adapter);