Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/194.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java executeWithListener中的NullPointerException_Java_Android - Fatal编程技术网

Java executeWithListener中的NullPointerException

Java executeWithListener中的NullPointerException,java,android,Java,Android,我正在尝试用这种方法获取PhotoUrl private String getUserPhotoUrl(String vk_id){ final String[] url = new String[1]; VKRequest request = VKApi.users().get(VKParameters.from(VKApiConst.USER_ID, vk_id, VKApiConst.FIELDS, "photo_100")); requ

我正在尝试用这种方法获取PhotoUrl

  private String getUserPhotoUrl(String vk_id){
    final String[] url = new String[1];
    VKRequest request = VKApi.users().get(VKParameters.from(VKApiConst.USER_ID, vk_id,
            VKApiConst.FIELDS, "photo_100"));
    request.executeWithListener(new VKRequest.VKRequestListener() {
        @Override
        public void onComplete(final VKResponse response) {
            super.onComplete(response);
            new Thread(){
                @Override
                public void run() {
                    VKList<VKApiUser> User = (VKList<VKApiUser>) response.parsedModel;
                    url[0] = User.get(0).photo_100;
                    Log.i("PhotoUrl", url[0]); //working perfect
                }}.start();
        }});
    return url[0];
}
私有字符串getUserPhotoUrl(字符串vk_id){
最终字符串[]url=新字符串[1];
VKRequest request=VKApi.users().get(VKParameters.from)(VKApiConst.USER\u ID,vk\u ID,
VKApiConst.FIELDS,“照片100”);
request.executeWithListener(新的VKRequest.VKRequestListener(){
@凌驾
未完成的公共空白(最终VK响应){
super.onComplete(响应);
新线程(){
@凌驾
公开募捐{
VKList User=(VKList)response.parsedModel;
url[0]=User.get(0).photo_100;
Log.i(“PhotoUrl”,url[0]);//工作正常
}}.start();
}});
返回url[0];
}

Log.i(“PhotoUrl”,url[0])中它给出的值不为null。我是说普通的网址但是当我尝试在
返回url[0]中返回它时部分,它给我空值。有什么想法吗?

因为并发性。您的方法立即返回,而不等待任何其他线程

因为并发。您的方法立即返回,而不等待任何其他线程

因为并发。您的方法立即返回,而不等待任何其他线程

因为并发。您的方法立即返回,而不等待任何其他线程

return语句在侦听器外部,thefore返回before侦听器结束处理


因此,它返回一个null,return语句在监听器外部,thefore返回beforre监听器结束处理


因此,它返回一个null,return语句在监听器外部,thefore返回beforre监听器结束处理


因此,它返回一个null,return语句在监听器外部,thefore返回beforre监听器结束处理


因此它返回空值

启动新线程时有2条并发执行路径,您应该使用回调来发布结果启动新线程时有2条并发执行路径,您应该使用回调来发布结果启动新线程时有2条并发执行路径,您应该使用回调来发布结果当您启动新线程时,有两个并发执行路径,您应该使用回调来发布结果