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


 
Herramientas
  #1  
Viejo 15/07/14, 01:03:43
Avatar de kakashi20
kakashi20 kakashi20 no está en línea
Usuario novato en la web
Mensajes: 22
 
Fecha de registro: jul 2014
Mensajes: 22
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
Exclamation Ussar Intent dentro de un fragment class

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;
    }
}
Responder Con Cita


  #2  
Viejo 15/07/14, 07:26:48
Avatar de kriogeN
kriogeN kriogeN no está en línea
Colaborador/a
Mensajes: 4,637
Compra y venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Versión de ROM: CM13 - CM 11
Tu operador: Vodafone
Mencionado: 60 comentarios
Tagged: 3 hilos
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
Responder Con Cita
Gracias de parte de:
  #3  
Viejo 18/07/14, 17:03:06
Avatar de kakashi20
kakashi20 kakashi20 no está en línea
Usuario novato en la web
Mensajes: 22
 
Fecha de registro: jul 2014
Mensajes: 22
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
gracias por la ayuda y respuesta. Me sirvió de mucho.
Responder Con Cita
Respuesta

Estás aquí
Regresar   HTCMania > Todo sobre Android > Programación y Desarrollo para Android

Herramientas

Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 21:33:53 (GMT +2)

Cookies settings
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007