java - 我可以使用许多 Activity 中使用的静态方法生成 Toast 吗?

标签 java android toast

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

我怀疑我在类里面有

  1. 静态方法
  2. 一个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时可能出现的一些问题。

提前谢谢你。

最佳答案

是的,您可以在您的 Activity 中将此语句用作:

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

关于java - 我可以使用许多 Activity 中使用的静态方法生成 Toast 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44946925/

相关文章:

java - 从 Eclipse 插件中的文件读取

java - 缺少 android.util.Log 类文件

android - 无法通过 adb 在 Ubuntu 9.10 上访问 Motorola Milestone(HTC Magic 工作得很好)

java - 在 Android 中使用 Windows Azure 服务总线队列

android - 如何在不重叠的情况下将 toast 锚定在 View 上?

java - 调用 C 函数时,Toast 不显示

java - 引用从不同目录中的 jsp 打包的 servlet

java - 为什么我们在 selenium webdriver 中需要 guava?

android - 选择 TabLayout 中的选项卡时更改行为

java - ConcurrentHashMap jdk 8 使用 TreeNodes 而不是 List .. 为什么?