首页 > 解决方案 > 在 Fragments Kotlin Android Studio 中上下文这个问题

问题描述

大家好,我对在互联网上找到的代码有疑问。很多时候,当我想将互联网上的代码应用到我的应用程序时,我对“这个”一件事有疑问

有一个例子

listview.adapter = 适配器(这个,R.layout.tescik,列表)

每次我将代码粘贴到片段时,我都会用红线“this”,我真的不知道如何修复它,我找不到解决方案。谁能帮我解决这个(呵呵)问题?

有我的代码我尝试实现它。

package com.example.darwinaapp.podstrony

import android.os.Bundle
import androidx.fragment.app.Fragment
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.ListView
import com.example.darwinaapp.Adapter
import com.example.darwinaapp.Model
import com.example.darwinaapp.R
import kotlinx.android.synthetic.main.fragment_promocje.*

private const val ARG_PARAM1 = "param1"
private const val ARG_PARAM2 = "param2"


class Promocje : Fragment() {
    private var param1: String? = null
    private var param2: String? = null

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        arguments?.let {
            param1 = it.getString(ARG_PARAM1)
            param2 = it.getString(ARG_PARAM2)


        }
    }

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

        var listview = lista
        var list = mutableListOf<Model>()

        list.add(Model("Maravedi", "Bardzo dobre winko", R.drawable.heroesmerlot))
        list.add(Model("Maravedi", "Bardzo dobre winko", R.drawable.heroesmerlot))
        list.add(Model("Maravedi", "Bardzo dobre winko", R.drawable.heroesmerlot))

//There is my problem
        listview.adapter = Adapter(this, R.layout.tescik,list)
//There is my problem

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

    companion object {

        fun newInstance(param1: String, param2: String) =
            Promocje().apply {
                arguments = Bundle().apply {
                    putString(ARG_PARAM1, param1)
                    putString(ARG_PARAM2, param2)
                }
            }
    }
}

标签: androidkotlin

解决方案


你可以在那里使用requireContext()

 listview.adapter = Adapter(requireContext(), R.layout.tescik,list)

推荐阅读