使用onClickListener时出错(意图)

好吧,我正在尝试在“ 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);

}

});

但是它说我不能去参加其他活动了:

错误:(24,21)错误:没有为Intent(,Class)构造函数Intent.Intent(String,Uri)找到合适的构造函数不适用(参数不匹配;无法转换为String)构造函数Intent.Intent(Context,Class)不适用(参数不匹配;无法转换为上下文)

和…

错误:任务’:app:compileDebugJava’的执行失败。编译失败;有关详细信息,请参见编译器错误输出。

回答:

仅有几行内容解释了为什么this不起作用的原因:

i = new Intent(this, MainActivity.class)

该意图是在另一个类(这里是一个匿名内部类)内部创建的OnClickListener。因此this,不是按预期引用Activity(或Context)的实例,而是匿名内部类的实例OnClickListener

因此,您应该提供正确的类上下文。

i = new Intent(YourClassName.this, MainActivity.class)

以上是 使用onClickListener时出错(意图) 的全部内容, 来源链接: utcz.com/qa/407462.html

回到顶部