我有一个JsonObjectRequest Get方法(凌空),它工作正常,我有一个JsonObject并用它来进行进一步的操作,但现在它没有做我想要的......
在与Get Request相同的类中,我有Method processResponse,它创建了一个" Account"对象并将其添加到管理器列表:
private void processResponse(JSONObject response) {
try {
Log.e("processResponse", " called");
final Account user = new Account("","","");
String username = response.getString("Username");
String email = response.getString("Email");
String id = response.getString("Id");
user.setUsername(username);
user.setEmail(email);
user.setId(id);
Manager.AddObjectToUserList(user);
带列表的经理类:
class Manager {
private static List<Account> _ListofUsers = new ArrayList<Account>();
static void AddObjectToUserList(Account acc)
{
_ListofUsers.add(acc);
}
List<Account> getListOfUsers(){
return _ListofUsers;
}
}
我从GetResponse获取了一个JsonObject,它确实成功处理了Response并创建了一个Object但是当我想将Manager中的List返回给另一个类时,&#34;返回List&#34;是0,我没有得到问题,因为它之前工作正常。
在调试模式下,它会在返回List之后跳转到Looper.java并且它不会离开这个类..
答案 0 :(得分:0)
由于异步行为,这种情况正在发生。您在创建list
后尝试将对象添加到列表中,这就是您获得0的原因。如果您要使用该列表,则需要在processResponse
中使用它方法。另请参阅此post
希望它有所帮助。