Проблемы с обработкой ответа на запрос VK SDK

Рейтинг: 0Ответов: 1Опубликовано: 08.01.2015

Всем привет! Прошу помощи. Есть следующий код(для примера):

                final VKRequest request = VKApi.users().get();
                request.executeWithListener(new VKRequest.VKRequestListener() {
                    @Override
                    public void onComplete(VKResponse response) {
                        super.onComplete(response);

                        //Log.v("VK SDK",response.json.toString());

                        VKApiUser user = (VKApiUser) response.parsedModel;

                        if (user==null){Log.v("Ошибка","Ничего не загрузилось");}
                        else {
                            Log.v("User name:", user.first_name + user.last_name);
                        }

Исходя из примеров на github, параметр response необходимо привести к нужному классу. Но при исполнении прилетает ошибка:

01-08 09:31:47.233    1545-1545/com.vksdk.avsidorov.testvksdk V/VK SDK﹕ {"response":[{"last_name":"User last name","id":20***,"first_name":"User first name"}]}
01-08 09:31:47.233    1545-1545/com.vksdk.avsidorov.testvksdk D/AndroidRuntime﹕ Shutting down VM
01-08 09:31:47.233    1545-1545/com.vksdk.avsidorov.testvksdk W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0xa4d86b20)
01-08 09:31:47.233    1545-1545/com.vksdk.***.testvksdk E/AndroidRuntime﹕ FATAL EXCEPTION: main
    Process: com.vksdk.***.testvksdk, PID: 1545
    java.lang.ClassCastException: com.vk.sdk.api.model.VKList cannot be cast to com.vk.sdk.api.model.VKApiUser

Что делать, куда копать?

Ответы

▲ 2

Ну очевидно же...

com.vk.sdk.api.model.VKList cannot be cast to com.vk.sdk.api.model.VKApiUser

Означает, что вам в VKResponse response приходит не VKApiUser, а VKList
Тем более, что запрашиваете вы не пользователя, а пользователей:

VKApi.users().get();

Вам в ответ и приходит список (VKList) из пользователей (VKApiUser).
А надо всего лишь научиться читать...