Ski*_*ᴉʞS 14 java android android-intent
好吧,我正在尝试创建一个"login.java"的意图代码是:
Button btEntrar = (Button) findViewById(R.id.btnSingIn);
btEntrar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i;
i = new Intent(this, MainActivity.class);
startActivity(i);
}
});
Run Code Online (Sandbox Code Playgroud)
但它说我不能去其他活动这样说:
错误:(24,21)错误:没有为Intent(,Class)构造函数找到合适的构造函数Intent.Intent(String,Uri)不适用(参数不匹配;无法转换为String)构造函数Intent.Intent(Context,Class)不适用(参数不匹配;无法转换为上下文)
和...
错误:任务':app:compileDebugJava'的执行失败.编译失败; 请参阅编译器错误输出以获取详细信
Suf*_*ori 34
只需几行来解释为什么this不起作用的原因:
i = new Intent(this, MainActivity.class)
Run Code Online (Sandbox Code Playgroud)
意图是在另一个类中创建的,这里是一个匿名的内部类OnClickListener.因此this,不会按预期引用您的Activity(或Context)实例,而是引用您的匿名内部类的实例OnClickListener.
所以你应该提供你班级的正确背景.
i = new Intent(YourClassName.this, MainActivity.class)
Run Code Online (Sandbox Code Playgroud)
如果你想从发送用它login.java来mainactivity.class使用
Intent intent=new Intent(login.this,Mainactivity.class);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16929 次 |
| 最近记录: |