烤面包停留在屏幕上超过一分钟

Jas*_*s10 3 android

// ---sends an SMS message to another device---
private void sendSMS(String phoneNumber, String message) {
    int i;
    SmsManager sms = SmsManager.getDefault();
    int amount = 10; // just making 10 the default if the EditText has an
                        // invalid value
    try {
        amount = Integer.parseInt(smsamount.getText().toString());
    } catch (NumberFormatException smsamount) {
    }

    for (i = 0; i < amount; i++) {

        if (amount < 100)
            sms.sendTextMessage(phoneNumber, null, message, null, null);

        else
            Toast.makeText(getBaseContext(),
                    "Please enter an amount less than 100.",
                    Toast.LENGTH_SHORT).show();
    }

}
Run Code Online (Sandbox Code Playgroud)

这有效,但吐司在屏幕上停留超过一分钟.即使退出应用程序,它仍保留在屏幕上.我尝试在发送消息的过程之前更改toast,但强制关闭应用程序.这是我将要使用这里的黑客的东西:http://thinkandroid.wordpress.com/2010/02/19/indefinite-toast-hack/使其缩短?

ron*_*ron 6

  1. 如果您一次调用N*1秒Toasts,那么它们将按顺序显示最多~N秒,就像在您的内循环中一样.在这里你得到amount * SHORT_DURATION了祝酒词的总持续时间.

  2. if (amount < 100)在进入循环之前进行状态检查.这更正确,更有效,并且只显示一个Toast.