Iniciar una nueva Actividad de Fragmento
Usando Android Studio, tengo mi clase MainActiviy con un fragmento Placeholder. Este fragmento tiene botones, pero uno tiene que cargar una Actividad. ¿Cómo se hace esto? Me dijeron que probar algo como el siguiente, pero el nuevo intento no funciona.
Button button = (Button) rootView.findViewById(R.id.button1); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent = new Intent(MainActivity.class, AnotherActivity.class); startActivity(intent); } });
- Suprimir notificaciones de un servicio si la actividad se está ejecutando
- Android: java.lang.Throwable: setStateLocked
- El objetivo de la actividad de Android permanece después del apagado
- Cambiar el color de las pestañas de navegación mediante programación
- Android: Actualización de campos para ParseUsers
- Cómo agregar la flecha hacia atrás o el botón Atrás en la barra de acción
- Android - Detener AsyncTask cuando se pulsa el botón Atrás y volver a Actividad anterior
- GetActivity (). FindViewById devuelve null, llamado desde el fragmento onActivityCreated
- Actividades no exportadas: lanzadas en emuladores; SecurityException en los teléfonos
- Pasar una lista a otra actividad en Android
- Evitar múltiples instancias de mi aplicación de Android compuesta por una sola actividad
- ActivityManager: Excepción lanzada al iniciar las actividades java.lang.IllegalArgumentException: val.length> 91
- ¿PreferenceFragment con el fondo transparente?
Si echa un vistazo a la documentación puede ver que para iniciar una actividad querrá utilizar el siguiente código
Intent intent = new Intent(getActivity(), AnotherActivity.class); startActivity(intent);
Actualmente está utilizando MainActivity.class
en un lugar que requiere un objeto de contexto. Si usted está actualmente en una actividad, simplemente pasar this
es suficiente. Un fragmento puede obtener la actividad a través de la función getActivity()
.
Su código completo de arriba debería ser así
Button button = (Button) rootView.findViewById(R.id.button1); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent = new Intent(getActivity(), AnotherActivity.class); startActivity(intent); } });
Button button = (Button) view.findViewById(R.id.button_ID); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent myintent = new Intent(getActivity(), CallingActivity.class); startActivity(myintent); } });
Debe utilizar getActivity()
para iniciar una Activity
de Fragment
.
De un Fragmento: Context
es la actividad de los padres (getActivity())
.
Intent intent = new Intent(getActivity(), AnotherActivity.class); startActivity(intent);
- GCM de Android: "Gestión de datos recibidos"
- RecyclerView con columna fija y cabecera, además de pie de página desplazable