Android 在NavigationView中使用毕加索

Android 在NavigationView中使用毕加索,android,picasso,Android,Picasso,我试图在活动中使用毕加索,并使用NavigationView(用于抽屉) 这是我的最新资料 @覆盖 创建时受保护的void(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity\u main\u drawer); mDrawerLayout=findViewById(R.id.drawer\u main\u search\u布局); final Navig

我试图在活动中使用毕加索,并使用NavigationView(用于抽屉)

这是我的最新资料

@覆盖
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u main\u drawer);
mDrawerLayout=findViewById(R.id.drawer\u main\u search\u布局);
final NavigationView NavigationView=findViewById(R.id.nav\u view\u main\u search);
navigationView.setNavigationItemSelectedListener(此);
userEmail=navigationView.getHeaderView(0).findViewById(R.id.nav\u user\u email);
profilePic=findviewbyd(R.id.profile\u pic\u抽屉);
FirebaseAuth auth=FirebaseAuth.getInstance();
if(auth.getCurrentUser()!=null){
userEmail.setText(auth.getCurrentUser().getEmail());
uuid=auth.getCurrentUser().getUid();
Log.d(标记“email\u test\u Log:+auth.getCurrentUser().getEmail());
storageRef.child(uuid+“/profile_pic/main.jpg”).getDownloadUrl().addOnSuccessListener(新的OnSuccessListener()){
@凌驾
成功时的公共无效(Uri){
//已获取“users/me/profile.png”的下载URL
Log.d(标签“TEST_PIC_LOC:+uri”);
Picasso.with(navigationView.getHeaderView(0.getContext()).load(uri).into(profilePic);
}
}).addOnFailureListener(新的OnFailureListener(){
@凌驾
public void onFailure(@NonNull异常){
//处理任何错误
}
});
}
showFragment(新的SearchFragment());

}
此错误有两种可能:一种是资源id为null,另一种是您的上下文可能为null

检查您的资源ID:

R.id.profile_pic_drawer // check this available or not
第二个是您的活动上下文过程,如下所示:

Picasso.with(YourActivityName.this).load(uri).into(profilePic);

仍然出现错误,请显示我将帮助您的代码。

此错误有两种可能:一种是资源id为null,另一种是您的上下文可能为null

检查您的资源ID:

R.id.profile_pic_drawer // check this available or not
第二个是您的活动上下文过程,如下所示:

Picasso.with(YourActivityName.this).load(uri).into(profilePic);
仍然出现错误,请显示我将帮助您的代码。

尝试以下操作:

Picasso.with(getAplicationContext()).load(uri).into(profilePic)

尝试以下操作:

Picasso.with(getAplicationContext()).load(uri).into(profilePic)

更改:

 profilePic = findViewById(R.id.profile_pic_drawer);
 Picasso.with(navigationView.getHeaderView(0).getContext()).load(uri).into(profilePic);
作者:

或者检查您的uri值,可能为空

更改:

 profilePic = findViewById(R.id.profile_pic_drawer);
 Picasso.with(navigationView.getHeaderView(0).getContext()).load(uri).into(profilePic);
作者:


或者检查您的uri值,可能它实际上是空的,但主要问题是imageview分配。请参阅上面的评论。我确定您的问题是
profilePic
,请检查此选项是否可用。可能是错误的id或错误的xml布局实际起作用,但主要问题是imageview分配。请参阅上面的评论。我确定您的问题是
profilePic
,请检查此选项是否可用。可能是错误的id或错误的xml布局它是资源id的分配。我有profilePic=findviewbyd(R.id.profile\u pic\u drawer),它应该是profilePic=navigationView.getHeaderView(0).findviewbyd(R.id.profile\u pic\u drawer);这是资源id的分配。我有profilePic=findviewbyd(R.id.profile\u pic\u drawer),它应该是profilePic=navigationView.getHeaderView(0.findviewbyd(R.id.profile\u pic\u drawer);