【问题标题】:Error using onClickListener (Intent)使用 onClickListener 时出错(意图)
【发布时间】:2014-12-30 10:45:17
【问题描述】:

好吧,我正在尝试在“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) 不适用 (参数不匹配;不能转换为字符串) 构造函数 Intent.Intent(Context,Class) 不适用 (参数不匹配;无法转换为上下文)

还有……

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

【问题讨论】:

  • 更改 i=new Intent(YourActivityName.this,MainActivity.class);
  • @sufiyan 你的回答和其他人一样完美。

标签: java android android-intent


【解决方案1】:

几行解释this在里面不起作用的原因:

i = new Intent(this, MainActivity.class)

意图是在另一个类中创建的,这里是一个匿名内部类OnClickListener。因此this 并没有按预期引用您的活动(或上下文)的实例,而是引用您的匿名内部类OnClickListener 的实例。

所以你应该提供你的类的正确上下文。

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

【讨论】:

  • 另一个选项是:i = new Intent(getApplicationContext(),MainActivity.class);
【解决方案2】:

使用 如果您想将其从login.java 发送到mainactivity.class,请使用

 Intent intent=new Intent(login.this,Mainactivity.class);
startActivity(intent);

【讨论】:

    【解决方案3】:

    更新代码到您的活动中

    Button btEntrar = (Button) findViewById(R.id.btnSingIn);
     btEntrar.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent i;
            i = new Intent(login.this, MainActivity.class);
            startActivity(i);
    
    
        }
    });
    

    【讨论】:

      【解决方案4】:

      尝试使用

      Intent i = new Intent(login.this, mainActivity.class);
      

      希望对你有帮助

      【讨论】:

        【解决方案5】:

        你是添加 manifest.xml 还是试试这个代码?
        Intent i = new Intent(login.this,mainActivity.class);

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-07-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-07-31
          • 1970-01-01
          相关资源
          最近更新 更多