通过静态方法创建Toast

时间:2014-05-02 08:33:21

标签: java android android-fragments

我在所有应用程序片段中使用此代码,如果我使用静态方法应该会更好。我该怎么做?这种静态方法也适用于片段,而不仅仅是活动。

我的非静态showToast方法:

public void showToast(String msg){
    Toast.makeText(getActivity().getApplicationContext(), msg, Toast.LENGTH_SHORT).show();
}

使用这种静态方法解决了感谢@KishanDhamat

public static void showToast(Context context, String text) {
Toast.makeText(context, text, Toast.LENGTH_LONG).show();

}

3 个答案:

答案 0 :(得分:5)

使用此:

public static void showToast(Context context, String text) {
    Toast.makeText(context, text, Toast.LENGTH_LONG).show();
}

现在要调用此方法,您应该这样调用:

ClassName.showToast(context,"text");

这里classname是包含静态方法的类。

答案 1 :(得分:3)

  • 更改方法的签名并添加给定的Context作为参数
  • 更改方法的签名以使其成为static
  • Context作为Toast.makeText来电
  • 的第一个参数

答案 2 :(得分:0)

public static void changeActivity(Context context,Class that){
    context.startActivity(new Intent(context, that));
} // my static method

  public void forgotPass(View view){
    Function.changeActivity(LoginActivity.this,ForgotPass.class);
} // my activity i want to change

这是我的解决方案,希望它可以提供帮助