问题描述
我是Java的新手,正在学习Android Studio。我正在尝试通过几个功能访问我的按钮。我当前的代码是:
public static void player1() {
v.setText("X"); //not working why? how do i do it? #confused
}
public void click (View v) {
}
请记住,我要访问所有按钮。所以没有特定的按钮,所以才写了v.setText()。我正在尝试制作井字游戏。
解决方法
要访问任何视图(按钮,TextView,EditText ...),请首先声明一个全局变量:
Button myButton;
然后,在onCreate()方法中,将此myButton对象绑定到XML布局中的按钮:
myButton = findViewById(R.id.myButton);
完成此操作后,您只需使用myButton对象即可访问任何按钮,例如:
public function myFunc1(){
myButton.setText("Something");
}
public function myFunc2(){
myButton.DO_SMOETHING
}
,
一种访问方法中对象的方法是将它们作为参数提供,例如
public static void myFunction(MyClass myObject) {
myObject.setText("welcome to stackoverflow");
}
然后,当您调用该方法时,必须提供参数。
MyClass myObject = new MyClass();
myFunction(myObject);
当然,在此示例中,MyClass必须提供方法setText(String)
。如果我假设正确,那么您正在尝试在setText
对象上使用Swing View
方法,对吗?这是行不通的,因为View-Class不提供setText()
方法。
我对您的建议:请遵循某种教程以了解有关Java基础的更多信息。另外,我建议您改为学习Swings后继JavaFX。
祝您编码顺利。 :)