1 重写application,用来得到每个界面的对象
public class MZApplication extends Application { private static MZApplication instance; @Override public void onCreate() { super.onCreate(); NoHttp.initialize(this); Logger.setDebug(true); // 开启NoHttp调试模式。 Logger.setTag("Omi_NoHttp--->"); // 设置NoHttp打印Log的TAG。 } public static MZApplication getInstance(){ if (instance == null) { instance = new MZApplication(); } return instance; } }
2 谈个土司
import android.os.Handler; import android.os.Looper; import android.widget.Toast; /** * Created by SensYang on 2017/05/23 10:16 */ public class ToastUtils { private static Handler handler = new Handler(Looper.getMainLooper()); private static Toast toast = null; private static final Object synObj = new Object(); /** * 显示一个文本 */ public static void showToast(CharSequence msg) { showMessage(msg, Toast.LENGTH_SHORT); } /** * 资源文件方式显示文本 */ public static void showToast(int msg) { showMessage(msg, Toast.LENGTH_SHORT); } /** * 显示一个文本 */ public static void showLongToast(CharSequence msg) { showMessage(msg, Toast.LENGTH_LONG); } /** * 资源文件方式显示文本 */ public static void showLongToast(int msg) { showMessage(msg, Toast.LENGTH_LONG); } /** * 显示一个文本并且设置时长 */ private static void showMessage(final CharSequence msg, final int len) { if (msg == null || msg.equals("")) { return; } handler.post(new Runnable() { @Override public void run() { synchronized (synObj) { //加上同步是为了每个toast只要有机会显示出来 if (toast != null) { //toast.cancel(); toast.setText(msg); toast.setDuration(len); } else { toast = Toast.makeText(MZApplication.getInstance().getApplicationContext(), msg, len); } toast.show(); } } }); } /** * 资源文件方式显示文本 */ private static void showMessage(final int msg, final int len) { handler.post(new Runnable() { @Override public void run() { synchronized (synObj) { if (toast != null) { //toast.cancel(); toast.setText(msg); toast.setDuration(len); } else { toast = Toast.makeText(MZApplication.getInstance().getApplicationContext(), msg, len); } toast.show(); } } }); } }