';intandroid.graphics.Bitmap.getWidth()';关于空对象引用
我正在使用api获取数据,当我从UserProfileActivity按back按钮并返回ImageViewerActivity时,我得到了这个错误,我已经搜索了StackOverflow,但找不到解决方案。如果有人能告诉我解决方案,那就太好了 //用户档案活动';intandroid.graphics.Bitmap.getWidth()';关于空对象引用,android,api,android-studio,bitmap,nullpointerexception,Android,Api,Android Studio,Bitmap,Nullpointerexception,我正在使用api获取数据,当我从UserProfileActivity按back按钮并返回ImageViewerActivity时,我得到了这个错误,我已经搜索了StackOverflow,但找不到解决方案。如果有人能告诉我解决方案,那就太好了 //用户档案活动 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layo
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_user_profile);
profileImg=(CircularImageView)findViewById(R.id.userImg);
name=(TextView)findViewById(R.id.profileUserName);
location=(TextView)findViewById(R.id.profileLocation);
bio=(TextView)findViewById(R.id.profileBio);
total_photos=(TextView)findViewById(R.id.profilePhotos);
instName=(TextView)findViewById(R.id.profileInsta);
rv=(RecyclerView)findViewById(R.id.profileRv);
gridLayoutManager = new GridLayoutManager(this, 2);
rv.hasFixedSize();
rv.setLayoutManager(gridLayoutManager);
Glide.with(this)
.load(getIntent().getStringExtra("profileImg"))
.centerCrop()
.into(profileImg);
name.setText(getIntent().getStringExtra("user"));
location.setText(getIntent().getStringExtra("location"));
bio.setText(getIntent().getStringExtra("bio"));
instName.setText(getIntent().getStringExtra("instaName"));
username=getIntent().getStringExtra("username");
//RECENT PHOTOS FIRST FETCH
UnsplashService service= ApiClient.getClient().create(UnsplashService.class);
Call<List<PhotoModel>> call=service.getUserProfile(username,API_KEY,1,PAGE_LIMIT);
call.enqueue(new Callback<List<PhotoModel>>() {
@Override
public void onResponse(Call<List<PhotoModel>> call, Response<List<PhotoModel>> response) {
List<PhotoModel> photoModelList=response.body();
adapter = new InfinitePhotoAdapter(UserProfileActivity.this, photoModelList);
adapter.notifyDataSetChanged();
rv.setAdapter(adapter);
}
@Override
public void onFailure(Call<List<PhotoModel>> call, Throwable t) {
}
});
infiniteScrollListener = new InfiniteScrollListener(gridLayoutManager) {
@Override
public void onLoadMore(int page, int totalItemsCount, RecyclerView view) {
updatephotos(username,page);
}
};
rv.addOnScrollListener(infiniteScrollListener);
}
}
//这就是错误所在
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.sohail.wallupwallpapers, PID: 2837
java.lang.RuntimeException: Unable to destroy activity {com.sohail.wallupwallpapers/com.sohail.wallupwallpapers.Activities.UserProfileActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'int android.graphics.Bitmap.getWidth()' on a null object reference
at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:4586)
at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:4609)
at android.app.ActivityThread.-wrap7(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1692)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6682)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1410)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int android.graphics.Bitmap.getWidth()' on a null object reference
at android.graphics.Bitmap.createScaledBitmap(Bitmap.java:750)
at com.pkmmte.view.CircularImageView.refreshBitmapShader(CircularImageView.java:341)
at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:262)
at android.widget.ImageView.setImageDrawable(ImageView.java:514)
at com.bumptech.glide.request.target.ImageViewTarget.onLoadCleared(ImageViewTarget.java:70)
at com.bumptech.glide.request.GenericRequest.clear(GenericRequest.java:323)
at com.bumptech.glide.manager.RequestTracker.clearRequests(RequestTracker.java:94)
at com.bumptech.glide.RequestManager.onDestroy(RequestManager.java:221)
at com.bumptech.glide.manager.ActivityFragmentLifecycle.onDestroy(ActivityFragmentLifecycle.java:64)
at com.bumptech.glide.manager.SupportRequestManagerFragment.onDestroy(SupportRequestManagerFragment.java:147)
at android.support.v4.app.Fragment.performDestroy(Fragment.java:2588)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1566)
at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1759)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1827)
at android.support.v4.app.FragmentManagerImpl.dispatchStateChange(FragmentManager.java:3244)
at android.support.v4.app.FragmentManagerImpl.dispatchDestroy(FragmentManager.java:3235)
at android.support.v4.app.FragmentController.dispatchDestroy(FragmentController.java:265)
at android.support.v4.app.FragmentActivity.onDestroy(FragmentActivity.java:390)
at android.support.v7.app.AppCompatActivity.onDestroy(AppCompatActivity.java:209)
at android.app.Activity.performDestroy(Activity.java:7195)
at android.app.Instrumentation.callActivityOnDestroy(Instrumentation.java:1161)
at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:4573)
at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:4609)
at android.app.ActivityThread.-wrap7(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1692)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6682)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1410)
这看起来像是您正在使用的第三方代码中的错误。请从他们的项目中查看此bug以获得帮助,如果它看起来与您看到的问题相同,请提供帮助
他们建议设置一个占位符图像可以防止这个问题。只需添加一个占位符即可 滑翔
RequestOptions requestOptions = new RequestOptions();
requestOptions.placeholder(R.drawable.ic_placeholder);
requestOptions.error(R.drawable.ic_error);
Glide.with(context)
.setDefaultRequestOptions(requestOptions)
.load(url).into(holder.imageView);
毕加索
Picasso.with(context)
.load(url)
.placeholder(R.drawable.placeholder)
.into(imageView)
Picasso.with(context)
.load(url)
.placeholder(R.drawable.placeholder)
.into(imageView)
if (userImageUrl.matches("(?!file\\b)\\w+?:\\/\\/.*")) {
// Not a local file
// image server url
LogClass.e("userImageUrl", "Not a local file");
Glide.with(DrawerActivity.this).load(userImageUrl).into(imgProfile);
} else {
// local path
LogClass.e("userImageUrl", "local file");
File file = new File(userImageUrl);
String filePath = file.getPath();
Bitmap bitmap = BitmapFactory.decodeFile(filePath);
imgProfile.setImageBitmap(bitmap);
}