android - tutorial - setcontentview fragment
FragmentActivity: no se puede convertir de Fragment a la clase derivada (4)
Estoy tratando de usar un Fragmento en una FragmentActivity así:
TutViewerFragment viewer = (TutViewerFragment)
getSupportFragmentManager().findFragmentById(R.id.tutview_fragment);
Y mi TutViewerFragment
extiende Fragment
. Sin embargo, estoy recibiendo un error:
No se puede convertir de Fragment a TutViewerFragment.
Realmente no entiendo por qué está sucediendo esto. ¿Por qué no se puede lanzar?
Como devconsole señaló en el comentario anterior: La clase que se extiende Fragmento necesita importar
android.support.v4.app.Fragment;
y no
android.app.Fragment;
Supongo que tiene que ver con el paquete de compatibilidad de Android. ¡El problema ahora está resuelto!
Como se especifica devconsole / igor , debemos asegurarnos de que la clase Fragment utilizada en ambas clases sea la misma. es decir andorid.app.Fragment en ambos
public class WorkoutDetailFragment extends Fragment
y en la clase de Actividad donde intentamos obtener referencia del fragmento.
WorkoutDetailFragment workoutDetailFragment = (WorkoutDetailFragment)getFragmentManager().findFragmentById(R.id.detail_frag);
Garantizar la misma clase de Fragmento en ambos archivos resolverá la excepción de lanzamiento de clase.
Espero que esto ayude. Sé que es un poco tarde. Soy nuevo en Android y exploro los matices del maravilloso lenguaje. Gracias a por ayudarme a resolver estos problemas menores.
En caso de que las personas busquen el equivalente de kotlin:
myFragmentClass = supportFragmentManager.findFragmentById(R.id.my_fragment) as MyFindOfFragment
Estás extendiendo la clase Fragmento incorrecta. Importar android.support.v4.app.Fragment
lugar de android.app.Fragment
.