Изменение текста в приемнике вещания - PullRequest
0 голосов
/ 23 марта 2019

Я использую Broadcast Receiver в Kotlin и пытаюсь изменить текст нескольких видов текста и изображений внутри приемника.Однако изменения не видны в приложении.Я отладил его и вижу, что данные присутствуют в переменной, когда я пытаюсь ее установить.

Класс UserData содержит данные в полях name, email, avatarName и avatarColor.Однако ни одно из текстовых полей или изображений не отображает назначенные данные.

LocalBroadcastManager.getInstance(this).registerReceiver(userDataChangeReceiver, IntentFilter(BROADCAST_USER_DATA_CHANGE))
private val userDataChangeReceiver = object : BroadcastReceiver() {

        override fun onReceive(context: Context?, intent: Intent?) {
            if (AuthService.isLoggedIn) {
                usernameNavHeader.text = UserData.name
                userEmailNavHeader.text = UserData.email
                val resourceId = resources.getIdentifier(UserData.avatarName, "drawable", packageName)
                userImgNavHeader.setImageResource(resourceId)
                userImgNavHeader.setBackgroundColor(UserData.getAvatarColor(UserData.avatarColor))
                loginBtnNavHeader.text = getString(R.string.logout)
            }
        }
    }
val userDataChange = Intent(BROADCAST_USER_DATA_CHANGE)
                          LocalBroadcastManager.getInstance(this).sendBroadcast(userDataChange)

Вот схема

<ImageView
        android:id="@+id/userImgNavHeader"
        android:layout_width="70dp"
        android:layout_height="70dp"
        android:layout_marginStart="12dp"
        android:layout_marginBottom="8dp"
        android:contentDescription="@string/nav_header_desc"
        android:paddingTop="@dimen/nav_header_vertical_spacing"
        app:layout_constraintBottom_toTopOf="@+id/loginBtnNavHeader"
        app:layout_constraintStart_toStartOf="parent"
        app:srcCompat="@drawable/profiledefault" />

    <TextView
        android:id="@+id/usernameNavHeader"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="8dp"
        android:paddingTop="@dimen/nav_header_vertical_spacing"
        app:layout_constraintStart_toEndOf="@+id/userImgNavHeader"
        app:layout_constraintTop_toTopOf="@+id/userImgNavHeader"
        tools:text="ABD" />

    <TextView
        android:id="@+id/userEmailNavHeader"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="8dp"
        android:layout_marginTop="8dp"
        app:layout_constraintStart_toEndOf="@+id/userImgNavHeader"
        app:layout_constraintTop_toBottomOf="@+id/usernameNavHeader"
        tools:text="abd@email.com" />

    <Button
        android:id="@+id/loginBtnNavHeader"
        android:layout_width="wrap_content"
        android:layout_height="32dp"
        android:layout_marginStart="4dp"
        android:layout_marginBottom="8dp"
        android:background="@android:color/transparent"
        android:onClick="loginBtnNavClicked"
        android:text="@string/login"
        android:textAlignment="center"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintStart_toStartOf="parent" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...