Android 为什么Toast.setGravity()不起作用

Android 为什么Toast.setGravity()不起作用,android,android-toast,Android,Android Toast,大家好,我有两种吐司 第1版: Toast.makeText(getApplicationContext(),"hello",Toast.LENGTH_LONG).setGravity(Gravity.CENTER,0,0).show(); 第2版: Toast t = Toast.makeText(getApplicationContext(),"hello",Toast.LENGTH_LONG); t.setGravity(Gravity.CENTER,0,0);

大家好,我有两种吐司

第1版:

Toast.makeText(getApplicationContext(),"hello",Toast.LENGTH_LONG).setGravity(Gravity.CENTER,0,0).show();
第2版:

Toast t = Toast.makeText(getApplicationContext(),"hello",Toast.LENGTH_LONG);
      t.setGravity(Gravity.CENTER,0,0);
      t.show();
版本2可以正常工作,但版本1不能。 它给出了无法解析方法show()的错误。 这里出了什么问题

当我编写第1版删除setGravity()方法时,它工作得很好

Toast.makeText(getApplicationContext(),"hello",Toast.LENGTH_LONG).show();

你们能解释一下吗。

Toast.makeText(这个,getString(不允许使用R.string.back),Toast.LENGTH\u SHORT)
返回一个
Toast
实例,这样你们就可以对它调用
show()
函数,但是
Toast.makeText(这个,getString(不允许使用R.string.back),Toast.LENGTH\u SHORT.show())
返回
void
,因此不能在其上使用
setGravity(Gravity.CENTER,0,0)
。这就是为什么您必须在变量中获取Toast的实例,然后使用它。

Toast.makeText(This,getString(R.string.back不允许),Toast.LENGTH\u SHORT)
返回一个
Toast
实例,这样您就可以对其调用
show()
函数,但是
Toast.makeText(This,getString(R.string.back\u不允许),Toast.LENGTH\u SHORT).show()
返回
void
因此不能使用
setGravity(Gravity.CENTER,0,0)
覆盖它。这就是为什么您必须在变量中获取
Toast
的实例,然后使用它。

因为setGravity不返回Toast type。您能详细解释一下吗。为什么t.setGravity()可以工作,但版本1不能。因为makeText返回类型是Toast,所以您可以访问Toast类的静态方法。但是setGravity的返回类型为void。因为setGravity不返回Toast类型。请您详细解释一下。以及为什么t.setGravity()可以工作,但版本1不能。因为makeText返回类型是Toast,所以您可以访问Toast类的静态方法。但setGravity的返回类型为void。