Usar Intent dentro de un fragment class de mi tab de action bar

564 views
Skip to first unread message

jgo...@rgit.co

unread,
Jul 14, 2014, 7:07:39 PM7/14/14
to desarrollad...@googlegroups.com
Estoy usando los tabs de action bar y lo que quiero 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 Intent que me dice que no está definido. 

Alguien me puede ayudar? 

Muchas gracias.


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;
    }
}

Jefferson Delgado P.

unread,
Jul 15, 2014, 1:54:05 AM7/15/14
to desarrollad...@googlegroups.com
Buenas,

¿Podrías poner la salida del LogCat, para tener más información?


Un saludo


--
Para participar es necesario que leas detenidamente las normas del grupo: http://goo.gl/8h8ez2
---
Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a desarrolladores-a...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a desarrollad...@googlegroups.com.
Visita este grupo en http://groups.google.com/group/desarrolladores-android.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/desarrolladores-android/e919a21f-7ae5-4f49-ba1b-bf43da66c269%40googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

Juan de Dios Maldonado Sánchez

unread,
Jul 15, 2014, 2:12:48 AM7/15/14
to desarrollad...@googlegroups.com
¿Sabes para qué se usa el "this"? El "this" hace referencia a la instancia de la clase (más inmediata) en la que se encuentra esa palabra clave. En el momento en el que creas el Intent, "this" hace referencia a la instancia del OnClickListener (ya que es la clase más inmediata), y esta (OnClickListener) ni de lejos implementa la clase abstracta Context. En su lugar puedes, por ejemplo, enviar una referencia a la Activity que lo contiene:

intent = new Intent(getActivity(), MainActivity.class);



jgo...@rgit.co

unread,
Jul 15, 2014, 9:50:34 AM7/15/14
to desarrollad...@googlegroups.com
Hola

Gracias por sus respuestas. Juande, entendi lo que me dijiste y funciono perfecto.
Reply all
Reply to author
Forward
0 new messages