Java 关于Toast命令
我想知道下面Toast命令中的“this”是什么意思:Java 关于Toast命令,java,android,Java,Android,我想知道下面Toast命令中的“this”是什么意思: Toast.makeText(MainActivity.this, "msg" ,Toast.Length_long ).show(); 如果可能的话,请你解释一下整个命令。这是指它本身 Toast.makeText(MainActivity.this, "msg" ,Toast.Length_long ).show(); 调用toast方法,所需参数为“context”、“toast message”和“toast duration”
Toast.makeText(MainActivity.this, "msg" ,Toast.Length_long ).show();
如果可能的话,请你解释一下整个命令。这是指它本身
Toast.makeText(MainActivity.this, "msg" ,Toast.Length_long ).show();
调用toast方法,所需参数为“context”、“toast message”和“toast duration”
最后.show()表示制作toast来显示。通常当您使用construct
SomeClass时。这意味着您引用的是特定的类(通常是“外部”类)。在示例中,您可以使用如下代码:
class Apple {
void outherMethod() {
}
class AppleType {
void innerMethod(){}
void method(){
Apple.this.outerMethod();
this.innerMethod();
}
}
}
此外,在Android上的这种特定情况下,这意味着您正在使用通过MainActivity类提供的活动上下文
因此,整个命令应理解为:
- 在MainActivity提供的上下文中创建Toast小部件
- 它应该显示一些文本:“msg”
- 它应该在常数Toast.Length\u long定义的特定时间内可见
- 最后,通过show()方法在设备上显示它
它很清晰,您可以这样使用它
Toast toast =Toast.makeText(this, "msg", duration);
toast.show();
这个:上下文
“msg”:您的信息
持续时间:Toast.LENGTH\u SHORT或Toast.LENGTH\u LONG
您可以通过设置重力来改变位置
toast.setGravity(Gravity.CENTER_VERTICAL|Gravity.CENTER_HORIZONTAL, 0, 0);
这将显示toast中心屏幕只需阅读:。如果您不知道上下文是什么,那么您需要先阅读一些关于它的书籍/教程。Toast
是一个对象,而不是命令。您缺乏OOP的基础知识。“this”是否意味着mainactivity包含在itself@AravindDMainActivity。这意味着MainActivity实例本身。因此,mainactivity.this获取活动的上下文(在本例中为-mainactivity)