I want my activity to show a screen for 3 seconds, then go back to previous screen. But when i use
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.welcome_layout);
TextView tvResult = (TextView)findViewById(R.id.textView1)
Thread.sleep(3000);
Intent i = new Intent(this,myActivity.class);
startActivity(i);
But unfortunately, this does not work. This doesent show the activity waits 3 seconds and goes back. However, i want it to show its contents before going back. How can i do it ?
This is not the recommended way to do this. Using Thread.sleep you basically force the activity to wait 3000 seconds before can move on. So anything in the activity will work until 3 seconds are passed.
You could do this: edited: now it works well.
You should remove this
Thread.sleep(3000);
which block the ui thread. You should never block the ui thred. You can use a Handler postDelayed with a delay and then startActivtiy.To go back to previous Activity you can call
finish()
.Also if you need to go back to the previous activity for 3 seconds why do you need
Calling
finish()
will do the job