使用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