我是这个网站的新手,所以希望我能正确地表达我的问题。
我正在进行一些介绍性的Android编程。什么允许我调用Toast.makeText
方法,但我不能立即对setGravity
方法做同样的事情?为什么我可以引用第一个非静态方法,而不是下一个?我也是使用匿名内部类的新手。
mTrueButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(quizActivity.this, R.string.correct_toast, Toast.LENGTH_SHORT.show();
Toast.setGravity(0, 0 ,0);
}
});
答案 0 :(得分:1)
您必须创建Toast类对象
public void ShowToast(String message){
Toast t = Toast.makeText(getApplicationContext(), message, Toast.LENGTH_LONG);
OR
// Toast t = new Toast(getContext()); if custom view require
t.setDuration(Toast.LENGTH_LONG);
t.setText(message);
t.setGravity(Gravity.RIGHT,0,0);
t.show();
}
答案 1 :(得分:0)
Toast toast = Toast.makeText(getApplicationContext(),
"text", Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER, 0, 0);
toast.show();
makeText
返回一个toast对象。
答案 2 :(得分:0)
可以使用类名访问静态方法。喜欢:template class FSM_state<eDECISION_TYPES, GameAI>;
因此,在Classname.staticMethod();
课程中,我们有Toast
方法和makeText()
方法。但setGravity()
方法是一种静态方法。因此,我们可以通过他们的类名访问它。如下所示:
makeText()
但Toast.makeText()
方法不是静态方法。因此,我们无法通过使用其姓名来调用它。
如果必须调用setGravity()
方法,则必须创建setGravity()
类的对象。
Toast