我创建了一个生成Toast
的类。我想要它,因为当我显示一个新的时,我需要取消之前的Toast
。
我的疑问是,在我的课堂上我有
Toast
静态类字段并且,同时,我传递的静态方法不同Context
,具体取决于我在其中调用静态方法的Activity
:ToastUtility.generateToast(activity_context, "message", Toast.LENGTH_LONG);
这是班级:
public class ToastUtility {
private static Toast myToast;
public static void generateToast(Context context, String message, int duration){
if(myToast != null)myToast.cancel();
myToast = Toast.makeText(context, message, duration);
myToast.show();
}
}
我担心,我没有考虑使用static
方法和字段时可能出现的问题但Context
不同。
提前谢谢。
答案 0 :(得分:3)
是的,您可以在活动中使用此声明:
Utils.showToast(this, "" + model.getMessage());
并且在Utils类中,您可以创建一个方法,如:
public static void showToast(Activity activity, String message) {
Toast toast = Toast.makeText(activity, message, Toast.LENGTH_SHORT);
toast.setGravity(Gravity.BOTTOM, 0, 0);
toast.show();
}