如何更改其他 class 按钮的可见性?
How do I change button visibility from other class?
基本上我的 MainActivity 中有一个按钮
Button button1 = (Button)findViewById(R.id.button1);
button1.setVisibility(View.GONE);
从 GameView 更改按钮可见性的方法是什么 class?
if(state == State.PAUSED){
//change button visibility
}
您需要制作 public 静态字段 Button button1;
如果你想在另一个 class 中调用按钮,只需调用那个 class 和按钮,例如
FirstClass.button1
尽量保留对要更改的视图(按钮)的引用,并以您认为合适的任何方式进行更改
button1.setVisibility(View.GONE);
or
button1.setVisibility(View.VISIBLE);
将您的 Button button1 声明为 MainActivity 中的静态全局变量,例如
public Static Button button1;
那么您的 GameView 代码将是
if(state == State.PAUSED){
MainActivity.button1.setVisibility(View.GONE)
}
实现此目的的最推荐方法是使用本地 BroadcastReceiver
(MainActivity
的子 class),它将从广播中读取消息,并根据该设置按钮的可见性。
和
使用适当的消息从 GameView
发送广播。
看起来很复杂,但请相信我,这是最好的推荐方法。
Link 教程。
基本上我的 MainActivity 中有一个按钮
Button button1 = (Button)findViewById(R.id.button1);
button1.setVisibility(View.GONE);
从 GameView 更改按钮可见性的方法是什么 class?
if(state == State.PAUSED){
//change button visibility
}
您需要制作 public 静态字段 Button button1;
如果你想在另一个 class 中调用按钮,只需调用那个 class 和按钮,例如
FirstClass.button1
尽量保留对要更改的视图(按钮)的引用,并以您认为合适的任何方式进行更改
button1.setVisibility(View.GONE);
or
button1.setVisibility(View.VISIBLE);
将您的 Button button1 声明为 MainActivity 中的静态全局变量,例如
public Static Button button1;
那么您的 GameView 代码将是
if(state == State.PAUSED){
MainActivity.button1.setVisibility(View.GONE)
}
实现此目的的最推荐方法是使用本地 BroadcastReceiver
(MainActivity
的子 class),它将从广播中读取消息,并根据该设置按钮的可见性。
和
使用适当的消息从 GameView
发送广播。
看起来很复杂,但请相信我,这是最好的推荐方法。
Link 教程。