The Exception
because you creating a Handler
inside another thread..
By changing your code like this you can get what you want exactly..
public class BannerSplashActivity extends Activity {
private static final int TIMEOUT = 5000;
private View mButtonCancel;
private Handler handler = new Handler();
private Runnable runnable;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.form_banner_splash);
runnable = new Runnable() {
@Override
public void run() {
goToMainActivity();
}
};
handler.postDelayed(runnable, TIMEOUT);
// find references
mButtonCancel = findViewById(R.id.buttonCancel);
mButtonCancel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
handler.removeCallbacks(runnable);
goToMainActivity();
}
});
}
private void goToMainActivity() {
startActivity(new Intent(this, MainActivity.class));
finish();
}
}
I am not using any Threads or AsynchTasks.