【发布时间】:2019-09-22 18:50:44
【问题描述】:
我是使用 java 进行 android 开发的新手,现在正在工作或 Toast。 我需要帮助我们创建一个用户定义的函数来启动我们的 toast,无论我们想在哪里吐司,我们只需传递活动上下文消息和持续时间等值,并且该函数根据需要显示 toast 吗?
谁能帮帮我。
【问题讨论】:
标签: android android-studio android-toast
我是使用 java 进行 android 开发的新手,现在正在工作或 Toast。 我需要帮助我们创建一个用户定义的函数来启动我们的 toast,无论我们想在哪里吐司,我们只需传递活动上下文消息和持续时间等值,并且该函数根据需要显示 toast 吗?
谁能帮帮我。
【问题讨论】:
标签: android android-studio android-toast
从任何地方调用这个方法:
public void showToast(Context context, String message, int duration) {
Toast.makeText(context, message, duration).show()
}
制作 BaseActivity 或 BaseFragment 并将此方法放在那里
并通过BaseActivity 扩展所有活动或通过BaseFragment 扩展片段
【讨论】:
有两种方法可以做到这一点,一种是将类定义为:
public class Shared {
private static Shared object = null;
private Shared() {}
public static Shared getInstance() {
if (object == null) {
synchronized(Shared.class) {
object = new Shared();
}
}
return object;
}
public void showToast(Context context, String message) {
Toast.makeText(context, message, duration).show()
}
}
从任何地方调用 showToast 方法,例如:
Shared.getInstance().showToast(ActivityA.this,"Hello");
第二种方法是在您的 BaseActivity 或 BaseFragment 中定义一个方法,如下所示:
public void showToast(Context context, String message) {
Toast.makeText(context, message, duration).show()
}
并从Activity 或fragment 调用它,就像这样showToast(ActivityA.this,"Hello");
【讨论】:
Toast.makeText() 接受三个参数 - 上下文、要显示的消息和时间。如果您想要简短的祝酒词,请使用以下代码。
public void showToast(Context context, String message)
{
Toast.makeText(context,message,Toast.LENGTH_SHORT).show();
}
否则,请使用下面的敬酒。
public void showToast(Context context, String message)
{
Toast.makeText(context,message,Toast.LENGTH_LONG).show();
}
【讨论】: