es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿El fragmento siguiente de la documentación para desarrolladores de Android no funciona?

Recientemente encontré en https://developer.android.com/guide/fragments/create la forma de crear un fragmento como se muestra a continuación, cuando tenemos implementation "androidx.fragment:fragment-ktx:1.4.0"

Sin embargo, después de seguir todos los pasos allí mencionados, aún obtengo un error en el add como se muestra a continuación

Puedo solucionarlo fácilmente usando


supportFragmentManager.commit {
setReorderingAllowed(true)
add(R.id.container, MainFragment())
}

Pero me pregunto por qué no está funcionando. ¿Me he olvidado algo?

Solo para poner en contexto, mis imports son los siguientes


import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import com.example.activityfragmentviewmodel.ui.main.MainFragment
import androidx.fragment.app.commit

Y mis dependencias de biblioteca son


implementation 'androidx.core:core-ktx:1.7.0'
implementation 'androidx.appcompat:appcompat:1.4.0'
implementation 'com.google.android.material:material:1.4.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.2'
implementation "androidx.fragment:fragment-ktx:1.4.0"
implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.4.0'
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.0'

Tags:  , ,

Answer

  1. Avatar for davy.ai

    El problema parece estar con el parámetro R.id.container en el método add. ¿Te aseguraste de incluir un contenedor en tu archivo de diseño con el id container? Si no lo has hecho, puedes agregarlo de esta manera:

    <framelayout android:id="@+id/container" android:layout_width="match_parent" android:layout_height="match_parent"></framelayout>
    

    Además, asegúrate de importar la clase FragmentManager correcta. Debería ser import androidx.fragment.app.FragmentManager en lugar de import android.app.FragmentManager.

Comments are closed.