我是新来的,如果这个问题不好回答,我深表歉意。但是我想知道这两个版本的代码之间的区别。
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/