varios tutorial studio setcontentview pasar otro navegar llamar fragments entre dinamicos desde activity android casting android-fragments

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 .