我正在尝试从ChangeClass更改MenuScreen活动中的按钮文本。
在这里查找其他答案我找到了一个看起来好像可行的解决方案:
public class ChangeClass{
protected MenuScreen context;
public ChangeClass(MenuScreen context) {
this.context = context;
}
public void setupMenu(){
context.runOnUiThread(new Runnable() {
@Override
public void run() {
context.btnMenuScreen0.setText("test 1");
}
});
}
我的问题是,在调用方法时,我不确定如何将Context作为参数引用。
ChangeClass changeClass = new ChangeClass (/*what goes here?*/);
ChangeClass.setupMenu();
我最终想要访问的类是MenuScreen.class。我如何将其称为参数中的上下文?
答案 0 :(得分:0)
在ChangeClass
中,只需将context
作为Context
类的实例。
public class ChangeClass{
protected Context context;
public ChangeClass(Context context) {
this.context = context;
}
...
然后,当您创建新的ChangeClass
时,请执行此操作
ChangeClass changeClass = new ChangeClass(MenuScreen.this);
答案 1 :(得分:0)
您可以使用
startActivityForResult(Intent, requestcode);
调用ChangeActivity时,使用
在MenuActivity上捕获它protected void onActivityResult(int requestCode, int resultCode, Intent data)
Here是关于如何操作的示例。
OR
您可以将按钮设为
public static Button btn;
然后在你的ChangeActivity上你可以
MenuActitivy.btn.setText("Hi");
希望有所帮助。