关于Toast命令

时间:2018-11-20 09:53:12

标签: java android

我想知道以下Toast命令中的“ this”是什么意思:

Toast.makeText(MainActivity.this, "msg" ,Toast.Length_long ).show();

如果可以的话,请您解释一下整个命令。

3 个答案:

答案 0 :(得分:1)

通常,当您使用构造SomeClass.this时,这意味着您要引用特定的(通常是“外部”类)。例如,您可以输入以下代码:

class Apple { 

void outherMethod() {
}

class AppleType {

    void innerMethod(){}
        void method(){ 
            Apple.this.outerMethod();
        this.innerMethod();
    }
 }
 }

此外,在这种特定情况下,在Android上,这意味着您正在使用通过MainActivity类提供的活动的Context。

因此,整个命令应读取为:

  • 在MainActivity提供的上下文中创建Toast小部件
  • 它应该显示一些文本:“ msg”
  • 在常量定义的特定时间应该可见:Toast.Length_long
  • 最后,通过show()方法将其显示在设备上。

答案 1 :(得分:0)

“这”表示自身。

const array=[{id:1,name:"bla",children:[{id:23,name:"bla",children:[{id:88,name:"bla"},{id:99,name:"bla"}]},{id:43,name:"bla"},{id:45,name:"bla",children:[{id:43,name:"bla"},{id:46,name:"bla"}]}]},{id:12,name:"bla",children:[{id:232,name:"bla",children:[{id:848,name:"bla"},{id:959,name:"bla"}]},{id:433,name:"bla"},{id:445,name:"bla",children:[{id:443,name:"bla"},{id:456,name:"bla",children:[{id:97,name:"bla"},{id:56,name:"bla"}]}]}]},{id:15,name:"bla",children:[{id:263,name:"bla",children:[{id:868,name:"bla"},{id:979,name:"bla"}]},{id:483,name:"bla"},{id:445,name:"bla",children:[{id:423,name:"bla"},{id:436,name:"bla"}]}]}];

const findItemNested = (arr, itemId, nestingKey) => (
  arr.reduce((a, item) => {
    if (a) return a;
    if (item.id === itemId) return item;
    if (item[nestingKey]) return findItemNested(item[nestingKey], itemId, nestingKey)
  }, null)
);
const res = findItemNested(array, 959, "children");
console.log(res);

调用toast方法,所需参数为“上下文”,“ toast消息”和“ toast持续时间”。

最后.show()表示要烤面包。

答案 2 :(得分:0)

它很清晰,您可以像这样使用它

Toast toast =Toast.makeText(this, "msg", duration);
toast.show();

此:上下文
“ msg”:您的留言
持续时间:Toast.LENGTH_SHORT或Toast.LENGTH_LONG
您可以通过设置重力来更改位置

toast.setGravity(Gravity.CENTER_VERTICAL|Gravity.CENTER_HORIZONTAL, 0, 0);

这将显示吐司中心屏幕