Изображение заголовка ящика навигатора не задано в запросе Firebase - PullRequest
2 голосов
/ 05 апреля 2019

Изображение заголовка ящика навигатора не задано в моем запросе Firebase. Не выдает ошибку, но не показывает картинку загрузки.

Котлин;

val navigationView = findViewById(R.id.nav_view) as NavigationView
        val headerview = navigationView.getHeaderView(0)
        var imageViewUser = headerview.imgUserProfilNav as ImageView
        mUserAuthListener = object : FirebaseAuth.AuthStateListener {
            override fun onAuthStateChanged(p0: FirebaseAuth) {
                var kullanici = p0.currentUser
               //  Glide.with(this@ProfilNavMenu).load(R.drawable.ic_action_user).into(imageViewUser)
                headerview.imgUserProfilNav.setImageResource(R.drawable.ic_action_user)
                if (kullanici != null) {
                   // Picasso.with(this@ProfilNavMenu).load(R.drawable.ic_action_user).fit().centerCrop().into(headerview.imgUserProfilNav)

                }
            }
        }

ProfileNavMenu - nav_header_profil_nav_menu.xml;

<LinearLayout 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="@dimen/nav_header_height"
    android:background="@drawable/side_nav_bar"
    android:gravity="bottom"
    android:orientation="vertical"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:theme="@style/ThemeOverlay.AppCompat.Dark">

    <ImageView
        android:id="@+id/imgUserProfilNav"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:contentDescription="@string/nav_header_desc"
        android:paddingTop="@dimen/nav_header_vertical_spacing"
        app:srcCompat="@mipmap/ic_launcher_round" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingTop="@dimen/nav_header_vertical_spacing"
        android:text="@string/nav_header_title"
        android:textAppearance="@style/TextAppearance.AppCompat.Body1" />

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/nav_header_subtitle" />

</LinearLayout>

Как мне установить картинку с Kotlin и Firebase? Я даже пробовал с Glide, но все равно он не показывал ни URL, ни нарисованных картинок.

1 Ответ

1 голос
/ 05 апреля 2019

Вместо этого:

mUserAuthListener = object : FirebaseAuth.AuthStateListener {
            override fun onAuthStateChanged(p0: FirebaseAuth) {
                var kullanici = p0.currentUser
               //  Glide.with(this@ProfilNavMenu).load(R.drawable.ic_action_user).into(imageViewUser)
                headerview.imgUserProfilNav.setImageResource(R.drawable.ic_action_user)
                if (kullanici != null) {
                   // Picasso.with(this@ProfilNavMenu).load(R.drawable.ic_action_user).fit().centerCrop().into(headerview.imgUserProfilNav)

                }
            }
        }

Попробуйте это:

 mUserAuthListener = object : FirebaseAuth.AuthStateListener {
            override fun onAuthStateChanged(p0: FirebaseAuth) {

           Toast.makeText(getContext(), "Set Image here", Toast.LENGTH_SHORT).show();
                }
            }
        }

Это поможет вам, если ваш onAuthStatChanged работает каждый раз или нет. Если он не запускается каждый раз, вам придется использовать другой подход.

Наконец, рабочий код будет:

val navigationView = findViewById(R.id.nav_view) as NavigationView
        val headerview = navigationView.getHeaderView(0)
        var imageViewUser = headerview.imgUserProfilNav as ImageView
              headerview.imgUserProfilNav.setImageResource(R.drawable.ic_action_user)
        mUserAuthListener = object : FirebaseAuth.AuthStateListener {
            override fun onAuthStateChanged(p0: FirebaseAuth) {
                var kullanici = p0.currentUser

                if (kullanici != null) {
                    //set image if there is any specific requirement
                }
            }
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...