Android 为什么Toast.setGravity()不起作用
大家好,我有两种吐司 第1版: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);
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。