![]() |
|
Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android |
«
Tema Anterior
|
Siguiente tema
»
|
Herramientas |
#1
|
||||
|
||||
![]()
Estoy usando los tabs de action bar y lo que hacer es cuando estoy en una de las opciones de mi tab, osea en un fragment, tener un botón en ese fragment y cuando haga clic en el ir a otra actividad, pero tengo un error en mi Intenten que me dice que no está definido.
Alguien me puede ayudar? Muchas gracias. Código:
package com.example.dona1click; import android.app.Activity; import android.app.Fragment; import android.content.Intent; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.View.OnClickListener; import android.widget.Button; public class Nosotros extends Fragment { Button Btn; Intent intent; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View x = inflater.inflate(R.layout.nosotros, container, false); Btn = (Button)x.findViewById(R.id.button1); Btn.setOnClickListener(new OnClickListener() { // evento clic del boton @Override public void onClick(View v) { // al hacer clic se manda para la otra pagina intent = new Intent (this, MainActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent); //--------------------------------------------- } }); return x; } } |
|
#2
|
||||
|
||||
En vez de:
new Intent (this, MainActivity.class); pon: new Intent (getActivity(), MainActivity.class); Por cierto que ese código tampoco te funcionaría en una Activity, porque "this" en ese contexto es el OnClickListener, si Nosotros fuese una Activity habría que poner "Nosotros.this" EDITO: Por cierto también, en este caso da igual, pero no es conveniente llamar a una nueva Activity directamente desde el Fragment, en su lugar es mejor hacerlo a través de la Activity que lo contiene, es decir, usando: getActivity().startActivity(intent); Repito que en este caso da igual, pero si fuese un startActivityForResult te encontrarías con el problema de que el requestCode sería distinto al que pusiste originalmente. Última edición por kriogeN Día 15/07/14 a las 07:41:41 |
Gracias de parte de: | ||
#3
|
||||
|
||||
gracias por la ayuda y respuesta. Me sirvió de mucho.
|
Respuesta |
![]() |
||||||
|
«
Tema Anterior
|
Siguiente tema
»
|
|
Hora actual: 23:05:04 (GMT +2)
HTCMania: líderes desde el 2007