Я загружаю изображение с URL-адреса в растровое изображение. Этот код ниже работал над предыдущими классами, которые расширили фрагмент. На этот раз я просто копирую код и пытаюсь использовать его в классе, который расширяет AppCompatActivity. Единственное различие заключается в том, как я получаю контекст.getApplicationContext на нулевой ссылке в AppCompatActivity с использованием Picasso
public void loadBitmap(String url) {
if (loadtarget == null) loadtarget = new Target() {
@Override
public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
handleLoadedBitmap(bitmap);
}
@Override
public void onBitmapFailed(Drawable errorDrawable) {
}
@Override
public void onPrepareLoad(Drawable placeHolderDrawable) {
}
};
mContext = MyActivity.this;
Picasso.with(mContext).load(url).into(loadtarget); //giving me null
}
В исходном коде, где я использовал его в фрагменте, я был как
Picasso.with(getActivity()).load(url).into(loadtarget);
Так что теперь, так как этот класс расширяет AppCompatActivity, я думал, что я мог бы использовать «это» или MyActivity . Но это не сработало. Я попытался инициализировать переменную Context «mContext» в onCreate и прямо перед тем, как загрузить изображение в растровое изображение (например, выше), но не работал. Я пробовал this.getApplicationContext(), и я также попытался передать mContext в качестве параметра в методе loadBitmap(), но это тоже не сработало.
Строка URL-адреса верна. Я просто не знаю, как решить эту проблему, пытаясь, что-то вроде всего.
Последняя часть информации, исключение:
java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.Context android.content.Context.getApplicationContext()' on a null object reference
at android.content.ContextWrapper.getApplicationContext(ContextWrapper.java:112)
at com.salty.seas.Driver.MyActivity.loadBitmap(MyActivity.java:144)
at com.salty.seas.Driver.MyActivity$1.onKeyEntered(MyActivity.java:61)
at com.firebase.geofire.GeoQuery$2.run(GeoQuery.java:126)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7224)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
Является ли loadBitmap внутри вашей MyActivity? –
Yup! @ArtemNovikov – SaltySea
Обеспечьте полную стек. –