errore di dichiarare un Intent in da un frammento di Kotlin:

sto cercando di creare un intento che utilizza un pulsante all’interno di un frammento dell’attività principale per aprire una nuova attività. l’errore compare sottolineando l’oggetto ‘Intent’ con una linea rossa. l’errore è:

nessuna delle seguenti funzioni può essere chiamata con gli argomenti forniti. (contesto!, Classe & lt; * >!) definito in android.contenent.Intent (Stringa!, Uri!) definito in android.conten.Intent

ho provato il seguente codice

val fieldIntent = Intent(this@Fragment1, ProductsAndInputs::class.java )

invece del primo

val fieldIntent = Intent(this, ProductsAndInputs::class.java )

sulla base di una risposta fornita su un forum diverso, ma anche non ha funzionato

    class Fragment1 : Fragment() {


        override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
            val view: View = inflater!!.inflate(R.layout.fragment_fragment1, container, false)

            view.btn_field.setOnClickListener { view ->
                val fieldIntent = Intent(this@Fragment1, ProductsAndInputs::class.java )
                Log.i("Button clicked", "Field button")
            }
            return view
        }
        override fun onViewCreated(view: View, savedInstanceState: Bundle?) {

            super.onViewCreated(view, savedInstanceState)
        }

    }

EN From: Error declaring an Intent in from a Fragment in Kotlin:

More similar articles:

4 Comments

  1. devi aggiungere questo codice val fieldIntent = Intent (questo @ Fragment1, ProductAndInputs:: Class.java) startActivity (fieldIntent)

  2. il problema è che il costruttore Intent vuole un contesto, ma si sta passando un frammento. ma puoi ottenere un contesto dal Frammento: prova questo:

     val fieldIntent = Intent(this@Fragment1.context, Products...

    Oh, e devi chiamare anche startActivity, come ha detto Ajay.

Leave a Reply

Your email address will not be published. Required fields are marked *