Android kotlin - неразрешенная ссылка на setImageBitmap во фрагменте - PullRequest
0 голосов
/ 18 октября 2018

Я просто пытаюсь установить битовую карту внутри ImageView во фрагменте:

imageLeft.setImageBitmap(duelbildBitmap)

и получить Unresolved reference для setImageBitmap

Почему?Работает в деятельности

Заранее спасибо

1 Ответ

0 голосов
/ 18 октября 2018

Вы не можете просто использовать R.id.imageView, потому что это integer идентификатор, а не объект ImageView.Таким образом, он не может найти setImageBitmap() метод на Integer.

У вас есть два способа

1: с помощью findViewById()

class GalleryFragment : Fragment() {
    private lateinit var viewOfLayout: View
    private lateinit var imageView: ImageView

    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
        viewOfLayout = inflater.inflate(R.layout.fragment, container, false)
        return viewOfLayout
    }

    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
        super.onViewCreated(view, savedInstanceState)
        imageView = view.findViewById(R.id.imageView)
        imageView.setImageBitmap(bitmap) // set bitmap anywhere
    }
}

2: с помощьюkotlinx.android.synthetic

class GalleryFragment : Fragment() {
    private lateinit var viewOfLayout: View
    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
        viewOfLayout = inflater.inflate(R.layout.fragment, container, false)
        viewOfLayout.imageView.setImageBitmap(bitmap) // set bitmap anywhere
        return viewOfLayout
    }
}

Если в этом случае imageView не импортируется автоматически, импортируйте его вручную.

import kotlinx.android.synthetic.main.fragment.view.*

Во втором методе вы должны применить плагин apply plugin: 'kotlin-android-extensions', если он не был применен вконец уровня приложения build.gradle файл.

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