How to stop displaying message from Toast when Application is closed?

Narendra Pal picture Narendra Pal · Feb 11, 2013 · Viewed 22k times · Source

This is my sample code:

public class MainActivity extends Activity {

    Button buttonClick;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        buttonClick = (Button) findViewById(R.id.buttonClick);
        buttonClick.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                Toast.makeText(MainActivity.this, "Here is the Toast", Toast.LENGTH_SHORT).show();
            }
        });
    }

}

When ever I click on the Button, the Toast message is displayed. That's fine.

My question is:

When I click multiple times on the button and then close the application, then the Toasts continue starting their work of displaying messages.

And I don't want that.

I want if the application is closed then Toasts should also stop displaying their messages.

Can anybody tell me what I have to do for this???

Answer

RobinHood picture RobinHood · Feb 11, 2013

I want if the application is closed then Toast should also stop displaying the message.

In your case call cancel() to Toast object to cancel it within onDestroy() method.

Here is a similar example.

Updated!

I tested OP solution but no result.

.hide() and .cancel() method is available for Toast but seem they are not working. The solution is, you have to create your own custom view which acts like a Toast and then you can cancel all Toasts when the Activity finishes.