Mainactivity.this不能从Intent内部的静态上下文中引用

时间:2019-06-30 12:02:19

标签: java android android-intent android-activity

下午好,

我一直在与这个问题作斗争一段时间,并且作为最后的选择,我决定使用StackOverflow,因为我通常不喜欢困扰我的问题。希望这是有人可以向我指出的快速解决方案。我有以下代码:

public static void setConsoleText(final String s, final String bA)
    {

        if(bA.substring(0,5).contains("event")){
            if(bA == "event.1"){
                Intent intent = new Intent(game.this, popup.class);
                Bundle b = new Bundle();
                b.putInt("id", 1);
                intent.putExtras(b);
                startActivity(intent);
            }
    }

在onClose()函数的另一个活动中,我调用setConsoleText()。在setConsoleText中,我有两个错误。一个使用game.this,另一个使用startActivity(intent);

我收到错误com.ex.example.game.this',无法从静态上下文和类似的startactivity错误中引用。有人可以指出我可以采取什么措施来解决这个问题吗?

我的弹出代码:

public class popup extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_popup);

        DisplayMetrics dm = new DisplayMetrics();
        getWindowManager().getDefaultDisplay().getMetrics(dm);

        int width = dm.widthPixels;
        int height = dm.heightPixels;

        getWindow().setLayout((int)(width*.8),(int)(height*.6));

        Button btnA = (Button)findViewById(R.id.btn1);

        btnA.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                finish();
            }
        });


    }



    @Override
    protected void onStop() {
        super.onStop();

        game.setText("hello","Continue", game.this);
    }
}

我的主要代码:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_game);

    btnA = (Button)findViewById(R.id.OptionA);

public static void setText(final String s, final String bA, Activity activity)
{

    if(bA.substring(0,5).contains("event")){
        if(bA == "event.1"){
            Intent intent = new Intent(activity, popup.class);
            Bundle b = new Bundle();
            b.putInt("id", 1);
            intent.putExtras(b);
            activity.startActivity(intent);
        }

} }

0 个答案:

没有答案