无法在android中从一个活动转到另一个活动

zphenhs4  于 2021-06-26  发布在  Java
关注(0)|答案(3)|浏览(340)

我试着用一个按钮从androidstudio上的main activity改成main activity 2,我得到了一个错误

no suitable constructor found for Intent(<anonymous OnClickListener>,Class<MainActivity2>)
                Intent intent = new Intent(this, MainActivity2.class);
                                ^

我使用的是4.1版本,我想假设我遵循的是一个旧的教程,或者我只是错过了一些标点符号。这是我的密码:

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

            public void openMainActivity2(){
                Intent intent = new Intent(this, MainActivity2.class);
                startActivity(intent);
bttbmeg0

bttbmeg01#

你得试试 getApplicationContext() 或者 activity.this 而不是 this .
我想你是因为 this ". 因为,我看不到其他问题。

Intent intent = new Intent(getApplicationContext(),MainActivity2.class)
startActivity(intent);
1cosmwyk

1cosmwyk2#

只是为了让caio的答案更清楚,当你用这个的时候 Intent intent = new Intent(this, MainActivity2.class); 意图是在一个匿名的内部类中创建的,即。 OnClickListener . 因此 this 不按预期引用活动示例(或上下文)。您需要提供正确的类上下文。
因此,请执行以下操作:
Intent intent = new Intent(MainActivity.this, MainActivity2.class); startActivity(intent);

sczxawaw

sczxawaw3#

你应该提供正确的类上下文。
试试这个:

Intent intent = new Intent(MainActivity.this, MainActivity2.class);
startActivity(intent);

相关问题