Android Cambiar entre actividades

lo que estoy tratando de hacer es una pantalla de inicio que se queda durante 5 segundos y va a activity1.When haga clic en un botón en activity1 me lleva a activity2.I've intentado muchas veces para hacer clic en el botón, pero no se produce ningún cambio. homescreen (5 segundos) = Actividad Main_Actividad Activity1 = selectpets.java Actividad2 = fishtank.java

onclick oyente parece el problema no sé lo que está mal con él

Main Activity Code package com.set.petshome; import android.os.Bundle; import android.os.Handler; import android.app.Activity; import android.content.Intent; import android.view.Menu; import android.view.View; import android.widget.Button; public class MainActivity extends Activity { Button fButton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //Delay Code after 5 seconds new Handler().postDelayed(new Runnable() { @Override public void run() { setContentView(R.layout.selectscreen); //where <next> is you target activity :) } }, 5000); } //Delay End @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } } 

Ahora el código Selectpets

 package com.set.petshome; import android.app.Activity; import android.content.*; import android.os.Bundle; import android.view.*; import android.widget.Button; public class SelectPetsScreen extends Activity { Button fButton; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.selectscreen); //Button Fishtank Listener Start fButton = (Button) findViewById(R.id.button1); //Listening to button event fButton.setOnClickListener(new View.OnClickListener() { public void onClick(View arg0) { //Starting a new Intent Intent nextScreen = new Intent(getApplicationContext(), fishtank.class); startActivity(nextScreen); } }); //Button Fishtank Listener End } } 

Código de la clase Fishtank

 package com.set.petshome; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.Menu; import android.view.View; import android.widget.Button; public class fishtank extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.ftank); } } 

por cierto no hay errores en la aplicación no hay cambio después de hacer clic
muchas gracias

Aquí no se está cambiando nunca a la siguiente Activity , simplemente cambiando el layout de la Activity actual

  new Handler().postDelayed(new Runnable() { @Override public void run() { setContentView(R.layout.selectscreen); //where <next> is you target activity :) } }, 5000); 

en lugar de setContentView() usted necesita usar un Intent

 Intent i = new Intent(MainActivity.this, SelectPetsScreen.this); startActivity(i); 

Dado que en realidad no va a la siguiente Activity (archivo java), su onClick() no está configurado.

Editar

Esto es lo que estás haciendo

 public class MainActivity extends Activity { Button fButton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //Delay Code after 5 seconds new Handler().postDelayed(new Runnable() { @Override public void run() { setContentView(R.layout.selectscreen); //where <next> is you target activity :) } }, 5000); } 

Esto es lo que deberías hacer. Observe la diferencia en la función run()

 public class MainActivity extends Activity { Button fButton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //Delay Code after 5 seconds new Handler().postDelayed(new Runnable() { @Override public void run() { Intent i = new Intent(MainActivity.this, SelectPetsScreen.this); startActivity(i); } }, 5000); } 

Ante todo

  setContentView(R.layout.activity_main); //Delay Code after 5 seconds new Handler().postDelayed(new Runnable() { @Override public void run() { setContentView(R.layout.selectscreen); //where <next> is you target activity :) } }, 5000); 

¡NUNCA HAGA ESTO! Google le da una intenciones mechanish para cambiar con Actividades (transacción si el contexto es un fragmento)

Secundaria:

Todo lo que estás código abajo debe ser funciona bien.

Puede usar finish() si desea utilizar firts Actividad sólo una vez.

 mHandler.postDelayed(new Runnable() { @Override public void run() { startActivity(new Intent().setClass(MainActivity.this, SelectPetsScreen .class).setData(getIntent().getData())); finish(); } }, 5000); 

Asegúrese de que tiene Actividad 2 definida en su Manifest.xml:

 <activity android:name="xxSelectPetsScreen" android:theme="@style/NoTitle" android:screenOrientation="nosensor" android:launchMode="singleTask"> <intent-filter> <action android:name="android.intent.action.MAIN" /> </intent-filter> </activity> 

Pude resolverlo con la ayuda de Maxim Shoustin y todo el mundo por: la adición de la segunda Actividad a Manifest.xml que es SelectPetsScreen Muchas gracias

  • Cómo agregar un escucha a un botón de conmutación?
  • Switch case statement error: las expresiones case deben ser constantes
  • ¿Usando la cadena del recurso XML en el interruptor?
  • Cómo cambiar el color de texto del conmutador en Android
  • Cambiar los conmutadores a declaraciones "if-else"
  • Cómo cambiar la altura y el ancho de Switch en Android
  • Obteniendo la instancia Switch dentro de ActionBar
  • ¿Reutilizar las actividades anteriores?
  • Problema de conmutación: solo una opción visible
  • ¿Puede utilizar declaraciones condicionales en el caso de conmutación en Android?
  • ¿Por qué utilizar un hashmap?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.