使用Context作为参数/参数

时间:2016-09-16 01:38:16

标签: java android

我正在尝试从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。我如何将其称为参数中的上下文?

2 个答案:

答案 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");

希望有所帮助。