Java / Android Studio:如果按钮之外的方法,我该如何创建一个引用该按钮的方法?

问题描述

我是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。

祝您编码顺利。 :)