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

时间:2017-07-06 10:53:16

标签: java android toast

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

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

  1. 静态方法
  2. Toast静态类字段
  3. 并且,同时,我传递的静态方法不同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不同。

    提前谢谢。

1 个答案:

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