¿Cómo puedo mostrar el diseño de MainActivity en el método onCreate ()?

Acabo de empezar a estudiar android, y tipo de perplejo con el diseño de dibujo en la pantalla. Lo que estoy tratando de hacer es,

1> mostrar el diseño de MainActivity – que está diseñado en archivo de diseño xml

2> espera 2 segundos, mostrando MainActivity

3> Pase a la siguiente Actividad

Y con mi código reciente, muestra sólo pantalla en blanco blanco durante 2 segundos, y luego la siguiente actividad aparece.

Este es mi código fuente para MainActivity, ahora.

public class MainActivity extends AppCompatActivity { Intent settingIntent; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override protected void onStart(){ super.onStart(); try { Thread.sleep(2000); } catch(InterruptedException e) { // } settingIntent = new Intent(this,SettingActivity.class); startActivity(settingIntent); } } 

¿Cómo puedo hacer que esto funcione como mi intención?

Sólo puede utilizar el método predeterminado de View s – postDelayd

 findViewById(android.R.id.content).postDelayed(new Runnable() { @Override public void run() { Intent settingIntent = new Intent(MainActivity.this, SettingActivity.class); MainActivity.this.startActivity(settingIntent); } }, 2000); 

escríbelo después

 setContentView(R.layout.activity_main); 

y quitar onStart

Cuando llamas a dormir, estás pausando el hilo de la interfaz de usuario. Lo que no es lo que buscas. En su lugar, haga lo siguiente:

 @Override protected void onStart(){ super.onStart(); new Handler(Looper.getMainLooper()).postDelayed(new Runnable() { @Override public void run() { settingIntent = new Intent(MainActivity.this,SettingActivity.class); MainActivity.this.startActivity(settingIntent); } }, 2000); } 

EDITAR

Como Commonware ha señalado correctamente, esto tiene el potencial de introducir una fuga de memoria. Usted debe considerar el uso de la solución @yidavewu ha publicado.

Lo que sé es onStart callback dice que acitivity está a punto de ser mostrado. Así que todavía no se muestra. La mejor opción es poner el código para mostrar una nueva actividad en onResume callback.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.