我开发了一个安卓应用程序,但我正面临着Toast
的问题。假设我正在显示Toast,它显示在应用程序窗口上。当对话框出现时,吐司不会立即消失。
我想知道怎样才能取消吐司。
发布于 2010-12-09 13:17:21
Toast.makeText
返回一个Toast
对象。在此对象上调用cancel()
以取消它。
发布于 2012-03-15 17:15:51
您可以为toast指定的最短持续时间是Toast.LENGTH_SHORT
,它的值是0
,但实际上是2000 milliseconds long
。如果你想让它更短,那么试试这个:
final Toast toast = Toast.makeText(ctx, "This message will disappear in 1 second", Toast.LENGTH_SHORT);
toast.show();
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
toast.cancel();
}
}, 1000); //specify delay here that is shorter than Toast.LENGTH_SHORT
发布于 2013-07-19 15:37:53
我认为没有必要创建一个自定义的吐司。
仅创建Toast
类的单个实例。我们只需使用toast.setText("string")
设置toast的文本,并在onDestroy()
方法中调用toast.cancel()
方法。
工作代码片段如下:
package co.toast;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
public class ShowToastActivity extends Activity {
private Toast toast = null;
Button btnShowToast;
@SuppressLint("ShowToast")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// creates only one toast object..
toast = Toast.makeText(getApplicationContext(), "", Toast.LENGTH_LONG);
btnShowToast = (Button) findViewById(R.id.btnShowToast);
btnShowToast.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// only set text to toast object..
toast.setText("My toast!");
toast.show();
}
});
}
@Override
protected void onDestroy()
{
toast.cancel();
super.onDestroy();
}
@Override
protected void onStop () {
super.onStop();
toast.cancel();
}
}
希望这对你有帮助..
https://stackoverflow.com/questions/4395062
复制相似问题