我是否陷入了Looper.java?

时间:2017-05-02 14:08:52

标签: android json arraylist android-volley

我有一个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并且它不会离开这个类..

1 个答案:

答案 0 :(得分:0)

由于异步行为,这种情况正在发生。您在创建list后尝试将对象添加到列表中,这就是您获得0的原因。如果您要使用该列表,则需要在processResponse中使用它方法。另请参阅此post

希望它有所帮助。