Я играл с SDK в facebook. Попытка привлечь информацию о пользователе и изображениях и так далее. Проблема, с которой я сталкиваюсь, пытается получить профиль профиля для пользователя и установить его в моем собственном представлении.Исключение Nullpointer при настройке растрового изображения в Asynctask
Здесь идет:
View v = inflater.inflate(R.layout.wingman, container, false);
AsyncTaskRunner bitmapJob = new AsyncTaskRunner(main.getContext(),v);
bitmapJob.execute(GlobalVariables.getUser().getId());
А вот мой asyncTaskRunner класс:
частный класс AsyncTaskRunner расширяет AsyncTask {
private Bitmap bitmap;
private Context mContext;
private View rootView;
public AsyncTaskRunner(Context context, View rootView){
this.mContext=context;
this.rootView=rootView;
}
@Override
protected Bitmap doInBackground(String... params) {
// TODO Auto-generated method stub
bitmap = null;
//Fetch facebook pic
URL image_value;
try {
image_value = new URL("http://graph.facebook.com/"+GlobalVariables.getUser().getId()+"/picture?width=350&height=350");
bitmap = BitmapFactory.decodeStream(image_value.openConnection().getInputStream());
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return bitmap;
}
/* (non-Javadoc)
* @see android.os.AsyncTask#onPostExecute(java.lang.Object)
*/
@Override
protected void onPostExecute(Bitmap result) {
// TODO Auto-generated method stub
Log.d("Debug","onPostExecute");
RoundedImageView rImgView = (RoundedImageView)rootView.findViewById(R.id.roundedImageViewProfil);
Log.d("Debug","result: " + result);
if(result != null){
Log.d("Debug","Try to set");
rImgView.setImageBitmap(result);
}
else{
Log.d("Debug","didnt work");
rImgView.setImageResource(R.drawable.temp);
}
}
}
А вот отладочные-сообщения:
03-17 20:55:44.465: D/Debug(20080): result: [email protected]
03-17 20:55:44.465: D/Debug(20080): Try to set
03-17 20:55:44.465: D/AndroidRuntime(20080): Shutting down VM
03-17 20:55:44.465: W/dalvikvm(20080): threadid=1: thread exiting with uncaught exception (group=0x41540ba8)
03-17 20:55:44.465: E/AndroidRuntime(20080): FATAL EXCEPTION: main
03-17 20:55:44.465: E/AndroidRuntime(20080): Process: com.thorne.wingman, PID: 20080
03-17 20:55:44.465: E/AndroidRuntime(20080): java.lang.NullPointerException
03-17 20:55:44.465: E/AndroidRuntime(20080): at com.thorne.wingman.Wingman$AsyncTaskRunner.onPostExecute(Wingman.java:116)
03-17 20:55:44.465: E/AndroidRuntime(20080): at com.thorne.wingman.Wingman$AsyncTaskRunner.onPostExecute(Wingman.java:1)
03-17 20:55:44.465: E/AndroidRuntime(20080): at android.os.AsyncTask.finish(AsyncTask.java:632)
03-17 20:55:44.465: E/AndroidRuntime(20080): at android.os.AsyncTask.access$600(AsyncTask.java:177)
03-17 20:55:44.465: E/AndroidRuntime(20080): at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:645)
03-17 20:55:44.465: E/AndroidRuntime(20080): at android.os.Handler.dispatchMessage(Handler.java:102)
03-17 20:55:44.465: E/AndroidRuntime(20080): at android.os.Looper.loop(Looper.java:136)
03-17 20:55:44.465: E/AndroidRuntime(20080): at android.app.ActivityThread.main(ActivityThread.java:5017)
03-17 20:55:44.465: E/AndroidRuntime(20080): at java.lang.reflect.Method.invokeNative(Native Method)
03-17 20:55:44.465: E/AndroidRuntime(20080): at java.lang.reflect.Method.invoke(Method.java:515)
03-17 20:55:44.465: E/AndroidRuntime(20080): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
03-17 20:55:44.465: E/AndroidRuntime(20080): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
03-17 20:55:44.465: E/AndroidRuntime(20080): at dalvik.system.NativeStart.main(Native Method)
Был скрыт вокруг форума, и я не могу найти решение моей проблемы. Что бросает nullexception?
BR
все, что находится на 'Wingman.java: 116', равно null, возможно, ваше изображение имеет вид – tyczj
, возможно, битмап имеет значение null, когда выполняется onPost. – gkapagunta
Как изображение может быть нулевым? Я передаю свое представление asyncTask и все. –