解决Android中Toast重复弹出问题
来源:互联网 发布:数据归一化处理方法 编辑:程序博客网 时间:2024/05/16 07:38
在工作中经常遇到提示信息框Toast 在点击的时候出现好多次,有时候当前页面你点击完之后退出去Toast还在界面上显示,交互效果不是很好,今天在应用中解决了。其实很简单就是重写Toast,判断Toast是不是第一次生成。如果是null的话就生成新的对象。废话不多说直接上代码。
这是我专门重写的一个Toast类:
package com.example.toastcopyrighttest;
import android.content.Context;
import android.widget.Toast;
/**
* 首先判断toast对象是不是为null,如果是的话就生成对象。
* 否则的话就直接settext
* @author John
*/
public class UtilToast {
private static Toast toast = null;
public static void showToast(Context context, String str){
if (toast == null) {
toast = Toast.makeText(context, str, Toast.LENGTH_SHORT);
}else {
toast.setText(str);
}
toast.show();
}
}
下面是MainActivity,调用Toast:
package com.example.toastcopyrighttest;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
/**
* 解决Toast短时间显示的问题,让按钮在点击的时候只显示一次
* @author John
*
*/
public class MainActivity extends Activity {
private Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button) findViewById(R.id.but);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
UtilToast.showToast(MainActivity.this, "登录超时");
}
});
}
}
这就是全部代码。
- 解决Android中Toast重复弹出问题
- android实用小工具:只弹一次的toast,解决toast重复弹出的问题。
- 利用单例模式,解决toast重复弹出的问题
- Android-外功篇-单例Toast,解决重复弹出
- Android中如何防止Toast重复弹出相同的信息?
- Android中防止Toast重复弹出相同的信息
- Android Toast工具类 解决Toast重复显示,Toast一直显示,在线程中可用
- 解决Toast重复弹出,Toast单例模式
- 解决Toast重复弹出,Toast单例模式
- Android 解决toast重复提示
- 解决Android Toast重复显示等待时间过长的问题
- Android:避免toast重复弹出工具类
- Android Toast 重复显示问题
- Android toast重复显示问题
- Android中自定义toast工具,解决多次弹出toast后显示时间过长
- Android中防止Toast重复显示的问题
- 解决Toast重复显示的问题
- 解决Toast重复显示的问题
- 能信安_市场运作及产品分析v1.1.0
- 验证码刷新
- SAX解析xml
- C#的Enumerator(枚举数) 和 Enumerable(可枚举类型)
- 老干妈怒了:我才是中国第一!
- 解决Android中Toast重复弹出问题
- vim 配置
- 安装redis
- ios跳转popToViewController
- C#45课的主要内容
- 线性表
- HTTP协议学习(下)
- Apache服务器简介
- usb的bulk传输