getLayoutInflater во фрагменте, используя Kotlin - PullRequest
0 голосов
/ 05 марта 2020

Кажется, я не могу получить доступ к layoutInflater во внутреннем классе для развлечения ArrayAdapter getView. Этот код живет внутри Fragment

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

    layoutInflater // available here

    return inflater.inflate(R.layout.fragment, container, false)
}

private class MyAdapter(context: Context?, foo: ArrayList<Foo?>?) : ArrayAdapter<Foo?>(context!!, 0, items!!) {

    override fun getView(position: Int, convertView: View?, container: ViewGroup): View {
        var convertView = convertView
        if (convertView == null) {
            layoutInflater // not available
            convertView = layoutInflater.inflate(android.R.layout.simple_list_item_multiple_choice, container, false)
        }
        return convertView
    }
}

1 Ответ

0 голосов
/ 05 марта 2020

Вы можете использовать эту строку:

convertView = LayoutInflater.from(container.context).inflate(android.R.layout.simple_list_item_multiple_choice, container, false)

Таким образом, вы можете получить доступ к инфлятору макета.

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