gpt4 book ai didi

java - 为什么 Toast.makeText(...) 和 toastObj.makeText(...) 运行方式不同?

转载 作者:行者123 更新时间:2023-12-02 12:34:17 25 4
gpt4 key购买 nike

我是新来的,如果这是一个糟糕的问题,我深表歉意。但我想知道这两个版本的代码之间的区别。

1) 这个将允许 Toast 立即改变。

public Toast toast;
public void showToast(String text)
{
if (toast != null)
{
toast.cancel();
}
toast = Toast.makeText(getApplicationContext(), text, Toast.LENGTH_LONG);
toast.show();
}

2)这个不会立即改变。

public Toast toast;
public void showToast(String text)
{
if (toast != null)
{
toast.cancel();
}
toast.makeText(getApplicationContext(), text, Toast.LENGTH_LONG).show();
}

为什么它必须是Toast class.makeText而不是toastObject.makeText?或者是因为 show() 方法必须是单独的?我对 Java 和 Android 还很陌生,有人可以解释一下两者之间的根本区别是什么吗?提前致谢。

最佳答案

这是因为 makeText() 来自 Toast 类,该类被导入为

import android.widget.Toast;  

因此,它是一个静态方法,因此需要通过类名来调用。

.show();

不需要分开。

所以,

toast = Toast.makeText(getApplicationContext(), text, Toast.LENGTH_LONG).show();

会起作用的。

关于java - 为什么 Toast.makeText(...) 和 toastObj.makeText(...) 运行方式不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45196176/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com