Класс Fragment не может получить доступ к компонентам внутри файла макета в Kotlin - PullRequest
0 голосов
/ 01 апреля 2020

Почему я не могу получить доступ к компонентам внутри моего файла макета в Kotlin. У меня есть этот код

frag_first_image

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".FirstImageFragment">

    <ImageView
        android:id="@+id/firstFragmentImageView"
        android:scaleType="center"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <ProgressBar
        android:id="@+id/firstFragmentProgressbar"
        android:visibility="invisible"
        android:layout_gravity="center"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

</FrameLayout>

и в Kotlin классе

FirstImageFragment

import android.os.Bundle
import androidx.fragment.app.Fragment
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup

class FirstImageFragment : Fragment() {
    private val imageUrl = "https://static.pexels.com/photos/596940/pexels-photo-596940.jpeg"

    private fun loadImageUsingGlide() {
         THIS IS THE ERROR ====>  firstFragmentProgressbar.visibility = VISIBLE 
    }

    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
                              savedInstanceState: Bundle?): View? {

        // Inflate the layout for this fragment
        return inflater.inflate(R.layout.fragment_first_image, container, false)
    }

    companion object {
        fun newInstance() = FirstImageFragment()
    }
}

Я не могу получить доступ к идентификатору компонентов пользовательского интерфейса. Можете ли вы помочь мне с этим? Спасибо.

1 Ответ

1 голос
/ 01 апреля 2020
import kotlinx.android.synthetic.main.fragment_first_image.*

добавьте вышеупомянутый импорт в ваш фрагмент.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...