【发布时间】:2019-03-22 02:15:55
【问题描述】:
我正在尝试使用回调接口将图像从片段加载到导航抽屉标题。我调试了应用程序,发现传递的字符串 url 是有效的,但是 picasso 无法在 header Imageview 中加载图像。
这是我的回调接口代码:
@Override
public void changeUserStatus(boolean isLogin, String email,String profilePhotoUrl) {
if (isLogin) {
logoutBTN.setText(R.string.logout);
//Toast.makeText(MainScreenActivity.this,email,Toast.LENGTH_SHORT).show();
userEmail.setText(email);
}
if (!profilePhotoUrl.equals("")) {
Picasso.with(getApplicationContext()).load(profilePhotoUrl).placeholder(R.drawable.logo).noFade().into(navImageView);
}
else {
navImageView.setImageResource(R.drawable.logo);
}
}
这是我的导航标题 ImageView 的 xml 布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="200dp"
android:background="@color/White"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal"
android:orientation="vertical">
<de.hdodenhof.circleimageview.CircleImageView
android:id="@+id/profile_image"
android:layout_width="120dp"
android:layout_height="120dp"
android:layout_marginTop="10dp"
android:src="@drawable/logo">
</de.hdodenhof.circleimageview.CircleImageView>
<TextView
android:gravity="center_horizontal"
android:id="@+id/email_header"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:text=""
android:textColor="@color/Black"
android:textSize="14sp" />
<TextView
android:id="@+id/logoutBTN"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:gravity="center_horizontal"
android:paddingBottom="4dp"
android:text="@string/login_txt"
android:textAllCaps="true"
android:textColor="@color/Black"
android:textSize="16sp"
android:textStyle="bold"
android:typeface="sans" />
</LinearLayout>
</RelativeLayout>
我已经在我的活动 onCreate() 中初始化了导航标题 ImageView:
navigationView.setNavigationItemSelectedListener(this);
navigationView.inflateHeaderView(R.layout.nav_header);
View header = navigationView.getHeaderView(0);
userEmail = (TextView) header.findViewById(R.id.email_header);
logoutBTN = (TextView) header.findViewById(R.id.logoutBTN);
navImageView = (ImageView) header.findViewById(R.id.profile_image);
任何帮助将不胜感激。
【问题讨论】:
-
给毕加索添加一个图片加载监听器,看看加载有什么问题
-
你的
profilePhotoUrl是什么? -
它是一个 png 图片
标签: android android-layout imageview navigation-drawer picasso