我可以使用许多活动中使用的静态方法生成 Toast 吗?



我创建了一个类来生成Toast。我想要它,因为我需要在显示新Toast时取消以前的。

我的怀疑是,在我的课堂上,我有

  1. 静态方法
  2. Toast静态类字段

同时,我传递静态方法不同的Context,具体取决于我调用静态方法的ActivityToastUtility.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.

提前谢谢你。

是的,您可以在您的活动中使用此语句,如下所示:

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();
}

最新更新