gpt4 book ai didi

android - Spinner Android onItemSelected 只需选择列表的最后一项

转载 作者:行者123 更新时间:2023-11-30 03:35:31 25 4
gpt4 key购买 nike

我从这个 JSON 填充一个微调器:

[
{
"vhc_name": "",
"vhc_login": "",
"vhc_password": ""
},
{
"vhc_name": "Tél de Pan-K",
"vhc_login": "178143p",
"vhc_password": "kaspersky"
},
{
"vhc_name": "toto",
"vhc_login": "215058k",
"vhc_password": "azertyu"
},
{
"vhc_name": "azertyuiop",
"vhc_login": "221589a",
"vhc_password": "azertyu"
}
]

它工作正常,但是当我在微调器上使用 setOnItemSelectedListener 时,它只检索最后一个 JSONObject 的数据:

{
"vhc_name": "azertyuiop",
"vhc_login": "221589a",
"vhc_password": "azertyu"
}

知道它是从哪里来的吗?

这是我的代码:

private static final String TAG_LOGIN = "vhc_login";
private static final String TAG_PWD = "vhc_password";

String readFeed = readFeed();
// Display the list of the user's devices
ArrayList<Devices> devices = new ArrayList<Devices>();
// use this array to populate myDevicesSpinner
ArrayList<String> devicesNames = new ArrayList<String>();

try {

JSONArray jsonArray = new JSONArray(readFeed); // Method which parse the JSON Data


for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
Devices device = new Devices();
device.setName(jsonObject.optString(TAG_NAME));
devices.add(device);
devicesNames.add(jsonObject.optString(TAG_NAME));

}
} catch (Exception e) {
}
mySpinner = (Spinner)findViewById(R.id.myDevicesSpinner);
mySpinner.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, devicesNames));
mySpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
Devices tmp_device = devices.get(i);
pwd = tmp_device.getPassword();
Log.d("testoui",pwd);
}
public void onNothingSelected(AdapterView<?> adapterView) {

}
});

日志“ouioui”显示:

11:41:08.539    9081    com.JeLocalisetrackerApp.view   DEBUG   ouioui  kaspersky
11:41:08.539 9081 com.JeLocalisetrackerApp.view DEBUG ouioui azertyu
11:41:08.539 9081 com.JeLocalisetrackerApp.view DEBUG ouioui azertyu

日志“ouiouii”显示:

11:41:08.539    9081    com.JeLocalisetrackerApp.view   VERBOSE ouiouii 178143p
11:41:08.539 9081 com.JeLocalisetrackerApp.view VERBOSE ouiouii 215058k
11:41:08.539 9081 com.JeLocalisetrackerApp.view VERBOSE ouiouii 221589a

日志“ouiouiioui”显示:

11:41:08.585        9081    com.JeLocalisetrackerApp.view   VERBOSE ouiouioui   azertyu

日志“ouiouiouii”显示:

11:41:08.585        9081    com.JeLocalisetrackerApp.view   VERBOSE ouiouiouii  221589a

每次我在微调器中选择不同的设备时,日志都会显示最后一条消息“ouiouiioui”和“ouiouiouii” 为什么?如何检索 onItemSelected 中每个 JSONObject 的值?

我的类设备是这样的:

public class Devices {

String name;
String logindevice;
String passworddevice;

public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getLogin() {
return logindevice;
}
public void setLogin(String logindevice) {
this.logindevice = logindevice;
}

public String getPassword() {
return passworddevice;
}
public void setPassword(String passworddevice) {
this.passworddevice = passworddevice;
}
}

最佳答案

您需要通过setTag() 为项目设置标签。然后就可以了

关于android - Spinner Android onItemSelected 只需选择列表的最后一项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16687699/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com