您的位置:首页 > 移动开发 > Android开发

Android Toast工具类

2015-01-15 17:35 323 查看

1、自定义Application

package com.example.testan;

import android.app.Application;

public class App extends Application {
private static App appInstance;

@Override
public void onCreate() {
super.onCreate();
appInstance = this;
}

public static App getInstance() {
return appInstance;
}

}


2、Toast工具类

package com.example.testan;

import android.widget.Toast;

public class ToastUtils {

private ToastUtils() {
throw new AssertionError();
}

public static void show(int resId) {
show(App.getInstance().getResources().getText(resId),
Toast.LENGTH_SHORT);
}

public static void show(int resId, int duration) {
show(App.getInstance().getResources().getText(resId), duration);
}

public static void show(CharSequence text) {
show(text, Toast.LENGTH_SHORT);
}

public static void show(int resId, Object... args) {
show(String.format(App.getInstance().getResources().getString(resId),
args), Toast.LENGTH_SHORT);
}

public static void show(String format, Object... args) {
show(String.format(format, args), Toast.LENGTH_SHORT);
}

public static void show(int resId, int duration, Object... args) {
show(String.format(App.getInstance().getResources().getString(resId),
args), duration);
}

public static void show(String format, int duration, Object... args) {
show(String.format(format, args), duration);
}

public static void show(CharSequence text, int duration) {
Toast.makeText(App.getInstance(), text, duration).show();
}

}


说明:这里使用Application来获取资源文件(getResources()),因为在Fragment中使用getActivity()进行Toast存在风险(存放Fragment的Activity结束时,Fragment中可能还存在未结束的线程导致getActivity()的使用,此时getActivity()已经为空)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: