Android应用按钮无效

时间:2016-11-13 03:46:51

标签: java android

我在其他几个项目中使用过这段代码,但我不明白为什么它在这里不起作用。这是一个简单的按钮,可以改变活动。代码提供错误消息:无法解析符号“setOnClickListener”

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.Spinner;


public class MainActivity extends AppCompatActivity implements AdapterView.OnItemSelectedListener {

public static String value2;
public static String value3;
public static String value4;
public static String value5;
public static String value6;
public static String value7;
public static String value8;
public Spinner spinnerMath;
public Spinner spinnerEnglish;
public Spinner spinnerHistory;
public Spinner spinnerScience;
public Spinner spinnerLanguage;
public Spinner spinnerReligion;
public Spinner spinnerSeventh;
public Button button = (Button) findViewById(R.id.button);

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    button.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {

        Intent intent = new Intent(getBaseContext(), Main2Activity.class);
        startActivity(intent);
    }
});
} 

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

如果没有看到更多的代码,很难说,但我对这个'这个'是什么感到怀疑。是:

Intent intent = new Intent(this, Main2Activity.class); 尝试

Intent intent = new Intent(getBaseContext(), Main2Activity.class);

或类似的东西,除非您已考虑到这一点。否则,您的ClickListener代码对我来说很好。

答案 1 :(得分:0)

确保您的视图ID与您要点击的视图ID相同。将this替换为YOUR_CLASS.this。如果intent给出了一个错误说明了清单,那么如果Main2Activity.class被声明为活动,请检查清单

Button button = (Button)findViewById(R.id.button_name);    
button.setOnClickListener(new View.OnClickListener() {
     @Override
     public void onClick(View view) {
          Log.i(TAG,"CLICKED");
          Intent intent = new Intent(YOUR_CLASS.this, Main2Activity.class);
          startActivity(intent);
      }
});