我正在尝试使用 volley 库从数据库中选择的用户名制作一个数字选择器。我的 php 脚本的响应如下所示:
[{"username":"adam"},{"username":"tomasz"},{"username":"komercja"}]
我的号码选择器代码如下所示
JSONArray arr = null;
try {
arr = new JSONArray(responsefromphp);
} catch (JSONException e) {
e.printStackTrace();
}
List<String> list = new ArrayList<String>();
for(int i = 0; i < arr.length(); i++){
try {
list.add(arr.getJSONObject(i).getString("username"));
} catch (JSONException e) {
e.printStackTrace();
}
}
picker.setDisplayedValues(null);
picker.setMinValue(0);
picker.setMaxValue(arr.length()-1);
String [] userlist = list.toArray(new String[1]);
picker.setDisplayedValues(userlist);
如果我将来自 php 脚本的响应硬编码为字符串
String responsefromphp = [{"username":"adam"},{"username":"tomasz"},{"username":"komercja"}]
我的号码选择器运行良好,但是当我尝试使用 volley 库从 php 脚本中获取数据时,我必须将号码选择器代码放在 volley onresponse 中,并且当我运行活动时,号码选择器显示“n”作为首选。其他值仍然可以,如果我上下移动数字选择器'n'更改为第一个用户名。
我不明白为什么这个'n'值在这里并且想要摆脱它。
我想将我的响应从 volley 保存到 volley 之外的 String 变量,然后将其放入我的数字选择器代码中,但是如果我试图在 volley 的响应中设置 String 变量,我就不能在外面使用它。
如何从我的数据中删除这个“n”值?