【问题标题】:Cannot resolve constructor (Android Intent)无法解析构造函数(Android Intent)
【发布时间】:2015-09-07 00:56:37
【问题描述】:

我正在尝试创建一个打开不同活动的简单按钮:

package com.example.xxx.buttonexample;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.Button;
import android.view.View;
import android.view.View.OnClickListener;

public class MainActivity extends Activity {

Button button;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    btnClick();
}
public void btnClick() {
    button = (Button) findViewById(R.id.button1);
    button.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v)
        {
            Intent intent = new Intent(this,emergencyIntent.class);
            startActivity(intent);
        }
    });
}
}

这是我的 EmergencyIntent.class 文件:

package com.example.xxx.buttonexample;

import android.app.Activity;
import android.os.Bundle;

public class emergencyIntent extends Activity
{

@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    // The activity is being created.

}

}       

我收到一个错误:

"无法解析构造函数'intent(匿名 android.view.View.OnClickListener, java.lang.Class(com.example.xxx.buttonexample.emergencyIntent))'。

【问题讨论】:

    标签: java android


    【解决方案1】:

    只需将第一个参数中的this 替换为MainActivity.this。喜欢:

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

    错误是因为您将其写入public void onClick(View v),其中“this”表示实现View.OnClickListener 的匿名类的实例。而 Intent 构造函数 Intent(Context context, Class<?> cls) 中的第一个参数需要 Activity 上下文。

    【讨论】:

      【解决方案2】:
          package com.example.xxx.buttonexample;
      
          import android.app.Activity;
          import android.content.Intent;
          import android.os.Bundle;
          import android.widget.Button;
          import android.view.View;
          import android.view.View.OnClickListener;
      
          public class MainActivity extends Activity {
      
          Button button;
          @Override
          public void onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
              setContentView(R.layout.activity_main);
      
              button = (Button) findViewById(R.id.button1);
              button.setOnClickListener(new OnClickListener() {
                  @Override
                  public void onClick(View v)
                  {
                      Intent intent = new  Intent(MainActivity.this,emergencyIntent.class);
      startActivity(intent);
      //Or Intent intent = new  Intent(getApplicationContext(),emergencyIntent.class);
      
                  }
              });
          }
          }
      

      【讨论】:

        【解决方案3】:

        包 com.example.xxx.buttonexample;

        import android.app.Activity;
        import android.content.Intent;
        import android.os.Bundle;
        import android.widget.Button;
        import android.view.View;
        import android.view.View.OnClickListener;
        
        public class MainActivity extends Activity {
        
        Button button;
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
        
            button = (Button) findViewById(R.id.button1);
            button.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View v)
                {
                    Intent intent = new  Intent(MainActivity.this,emergencyIntent.class);
        

        开始活动(意图); //或者Intent intent = new Intent(getApplicationContext(),emergencyIntent.class);

                }
        

        });## 标题##

        【讨论】:

          猜你喜欢
          • 2013-12-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-05-29
          • 1970-01-01
          • 2015-05-05
          相关资源
          最近更新 更多