Ir al contenido


Foto

Evento onclicklistener


  • Por favor identifícate para responder
4 respuestas en este tema

#1 marloncv

marloncv

    Newbie

  • Miembros
  • Pip
  • 2 mensajes

Escrito 14 mayo 2014 - 07:28

Cordial saludo amigos.

Tengo una pregunta sobre el evento onclicklistener, necesito hacer un menú de botones que al pulsarlos me muestren el contenido de diferentes layouts y no he encontrado como tal cómo hacerlo,

Imagen Enviada

Es pulsar un botón y que me muestre el contenido de otro layout

  • 0

#2 Nikolas

Nikolas

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 604 mensajes
  • LocationMar del Plata / Bs As / Argentina

Escrito 15 mayo 2014 - 10:32

te dejo un fragmento del codigo que utilizo:



delphi
  1.     public void inicia(View view) {
  2.     Intent i = new Intent(this, Secundario.class );
  3.     startActivity(i);
  4.     }



Secundario es la "segunda ventana a mostrar"
  • 0

#3 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4.107 mensajes
  • LocationMadrid - España

Escrito 17 mayo 2014 - 04:05

Como te dice Nikolas esa es la forma de cambiar de Activity, usando un objeto Intent.
Hasta hoy no he tenido tiempo de preparar un ejemplo, te lo pongo con un proyecto que subo para mayor aclaración.



delphi
  1. // ACTIVITY 1
  2. public class MainActivity extends ActionBarActivity {
  3.  
  4. @Override
  5. protected void onCreate(Bundle savedInstanceState) {
  6. super.onCreate(savedInstanceState);
  7. setContentView(R.layout.activity_main);
  8.    
  9. findViewById(R.id.button1).setOnClickListener(new View.OnClickListener() {
  10.         @Override
  11.         public void onClick(View view) {
  12.         Intent i = new Intent(MainActivity.this, Activity2.class);
  13.         startActivity(i);
  14.         }
  15.     });  
  16. }
  17.         //.......................
  18. }




delphi
  1. // ACTIVITY 2
  2. public class Activity2 extends ActionBarActivity {
  3.  
  4. @Override
  5. protected void onCreate(Bundle savedInstanceState) {
  6. super.onCreate(savedInstanceState);
  7. setContentView(R.layout.activity2);
  8.    
  9. findViewById(R.id.button1).setOnClickListener(new View.OnClickListener() {
  10.         @Override
  11.         public void onClick(View view) {
  12.         finish();
  13.         }
  14.     });  
  15.  
  16. }
  17.         //.......................
  18. }



Y en el Manifest deben aparecer las dos:


delphi
  1.     <application
  2.         android:allowBackup="true"
  3.         android:icon="@drawable/ic_launcher"
  4.         android:label="@string/app_name"
  5.         android:theme="@style/AppTheme" >
  6.         <activity
  7.             android:name="com.example.activity.MainActivity"
  8.             android:label="@string/app_name" >
  9.             <intent-filter>
  10.                 <action android:name="android.intent.action.MAIN" />
  11.  
  12.                 <category android:name="android.intent.category.LAUNCHER" />
  13.             </intent-filter>
  14.         </activity>
  15.         <activity
  16.             android:name="com.example.activity.Activity2"
  17.             android:label="@string/title_activity_activity2" >
  18.         </activity>
  19.     </application>



Subo el proyecto completo, espero que te aclare tus dudas.



Saludos.

  • 0

#4 marloncv

marloncv

    Newbie

  • Miembros
  • Pip
  • 2 mensajes

Escrito 19 mayo 2014 - 08:20

Hola mira este es mi código. Sigo el código que me enviaron, pro me sigue dando error.



delphi
  1. //Activity 1
  2. public class MainActivity extends ActionBarActivity {
  3. //Button button;
  4.  
  5.  
  6.     @Override
  7.     protected void onCreate(Bundle savedInstanceState) {
  8.         super.onCreate(savedInstanceState);
  9.         setContentView(R.layout.activity_main);
  10.        
  11.         findViewById(android.R.id.button1).setOnClickListener(new View.OnClickListener() {
  12.  
  13. @Override
  14. public void onClick(View v) {
  15. // TODO Auto-generated method stub
  16. Intent i = new Intent(MainActivity.this,activity2.class);
  17. startActivity(i);
  18. }
  19. });





delphi
  1. //Activiti 2
  2. public class activity2 extends ActionBarActivity {
  3.  
  4. protected void onCreate(Bundle savedInstanceState){
  5. super.onCreate(savedInstanceState);
  6. setContentView(R.layout.activity_2);  //Error "activity_2"
  7.  
  8.  
  9. }





Manifest


delphi
  1. <application
  2.         android:allowBackup="true"
  3.         android:icon="@drawable/ic_launcher"
  4.         android:label="@string/app_name"
  5.         android:theme="@style/AppTheme" >
  6.         <activity
  7.             android:name="com.example.zz.MainActivity"
  8.             android:label="@string/app_name" >
  9.             <intent-filter>
  10.                 <action android:name="android.intent.action.MAIN" />
  11.  
  12.                 <category android:name="android.intent.category.LAUNCHER" />
  13.             </intent-filter>
  14.         </activity>
  15.         <activity
  16.             android:name="com.example.zz.activity2">         
  17.         </activity>




Agradesco su colaboracion, ya que no se que pueda estar pasando.

Adjunto archivos.

http://www.mediafire...qfpar835/zz.rar

http://www.mediafire...qfpar835/zz.rar

  • 0

#5 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4.107 mensajes
  • LocationMadrid - España

Escrito 20 mayo 2014 - 01:32

No se el error que obtienes. Según con la versión del SDK y eclipse usados puedes tener problemas con


delphi
  1. import android.support.v7.app.ActionBarActivity;



Si no es ese tu problema mira este cambio que he hecho en tu proyecto:



delphi
  1. findViewById(android.R.id.button1).setOnClickListener(new View.OnClickListener() {
  2. .......
  3. });


por


delphi
  1. findViewById(R.id.button1).setOnClickListener(new View.OnClickListener() {
  2. .......
  3. });



El problema está en que en el primer caso el botón encontrado es null con lo que el programa se cuelga.

No se si te referías a esos errores.

He simplificado tu proyecto, te lo subo.


Saludos.

  • 0




IP.Board spam blocked by CleanTalk.