java - Java 中的简短形式 toast

标签 java android android-studio kotlin

当我用 Kotlin 语言创建应用程序时,我创建了 Utils 类,并在其中创建了一个在整个项目中显示 Toast 的方法。我的代码如下所示:

fun Context.showToastShort(text: String, duration: Int = Toast.LENGTH_SHORT) {
    Toast.makeText(this, text, duration).show()
}

fun Context.showToastLong(text: String, duration: Int = Toast.LENGTH_LONG) {
    Toast.makeText(this, text, duration).show()
}

现在我想在 Java 项目中执行此操作。我如何在Java中实现这样的方法?我不明白如何使用上下文扩展我的方法

最佳答案

如果你想这样做,你可以使用这样的类。

public class MyUtils {

    private Context mContext;

    public MyUtils(Context context) {
        mContext = context;
    }

    public void displayToast(String message, int lenght){
        if (lenght == 0){
            Toast.makeText(mContext,message,Toast.LENGTH_SHORT).show();
        }else {
            Toast.makeText(mContext,message,Toast.LENGTH_LONG).show();
        }
    }
}

在上下文中创建类的实例并像这样在任何地方调用。

MyUtils myUtils = new MyUtils(getContext());
myUtils.displayToast("Hello world",0);

关于java - Java 中的简短形式 toast,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58242849/

相关文章:

java - 如何使用 Android Studio 删除 JsonArray 中的反斜杠 ("\"")?

java - Log4j 未登录到文件

java - Spring roo,这个探测器相当于什么

android - 你如何从另一个 Activity 中调用主要的启动器 Activity ?

android - 如何以编程方式向 GridView 添加空行 :

android - 如何让 Android Studio 自动建议代码修复

java - Recyclerview 适配器不显示片段中的数据

android - 如何在带有 Gradle 的 Android Studio 中使用 roboeletric?

java - 如果任何请求在 tomcat 线程池中创建更多线程怎么办

java - 如果在读取字节之前断开连接,TCP 套接字连接上的字节是否会丢失?