tejas tejas - 5 months ago 34
Android Question

How to prevent the activity from loading twice on pressing the button

What I am trying to figure out is to prevent the activity from loading twice if I press the button twice.

I have an activity which loads on click of a button, say

myButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
//Load another activity
}
});


Now because the activity to be loaded has some thing to do with the webservice and other operations, it takes a little time for it to load. Of course, I have a loading view for this.
But before that, if I press the button twice, I can see the activity being loaded twice.

Do any one know how to prevent this?

Answer

In the button's event listener, disable the button and show another activity.

    Button b = (Button) view;
    b.setEnabled(false);

    Intent i = new Intent(this, AnotherActitivty.class);
    startActivity(i);

Override onResume() to re-enable the button.

@Override
    protected void onResume() {
        super.onResume();

        Button button1 = (Button) findViewById(R.id.button1);
        button1.setEnabled(true);
    }
Comments