title: android java setOnClickListener error
body: <p>I am trying to perform a routine when the btnExecute is pressed.  I get an error at each onClick btnxxx.setOnClickListener stating "The type new View.OnClickListener(){} must implement the inherited abstract method View.OnClickListener.onClick(View).  Please help me understand what's wrong.</p>
  
  <pre><code>package com.androidbook.triviaquiz8;
  
  import android.os.Bundle;
  import android.os.Environment;
  import android.view.View.OnClickListener;
  import android.widget.AdapterView;
  import android.widget.ArrayAdapter;
  import android.widget.Button;
  import android.widget.EditText;
  import android.widget.Spinner;
  import android.widget.SpinnerAdapter;
  
  public class QuizHelpActivity extends QuizActivity {
      private EditText m1_sqs1;
      private EditText m1_rs1;
      private EditText m1_rs2;
      private EditText m1_cd;
      private EditText m1_els1;
      private EditText m1_els2;
  
      private EditText m1_sa_in;
      private EditText m1_sa_ft;
      private EditText m1_sa_mm;
      private EditText m1_sa_m;
  
      private EditText m1_ed_in;
      private EditText m1_ed_ft;
      private EditText m1_ed_mm;
      private EditText m1_ed_m;
  
      private Spinner m1_sqs1_spinner;
      private Spinner m1_rs1_unit;
      private Spinner m1_rs2_unit;
      private Spinner m1_cd_unit;
      private Spinner m1_els1_unit;
      private Spinner m1_els2_unit;
  
      private QuizHelpActivity mContext;
  
      private Button btnSave;
      private Button btnClear;
      private Button btnExecute;
  
  
      // 
      // onCreate - let the fun begin!
      // 
  
      @Override
      public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          mContext = this;
          setContentView(R.layout.help);
  
          m1_sqs1 = (EditText) findViewById(R.id.m1_sqs1);
          m1_rs1 = (EditText) findViewById(R.id.m1_rs1);
          m1_rs2 = (EditText) findViewById(R.id.m1_rs2);
          m1_cd = (EditText) findViewById(R.id.m1_cd);
          m1_els1 = (EditText) findViewById(R.id.m1_els1);
          m1_els2 = (EditText) findViewById(R.id.m1_els2);
  
          m1_sa_in = (EditText) findViewById(R.id.m1_sa_in);
          m1_sa_ft = (EditText) findViewById(R.id.m1_sa_ft);
          m1_sa_mm = (EditText) findViewById(R.id.m1_sa_mm);
          m1_sa_m = (EditText) findViewById(R.id.m1_sa_m);
  
          m1_ed_in = (EditText) findViewById(R.id.m1_ed_in);
          m1_ed_ft = (EditText) findViewById(R.id.m1_ed_ft);
          m1_ed_mm = (EditText) findViewById(R.id.m1_ed_mm);
          m1_ed_m = (EditText) findViewById(R.id.m1_ed_m);
  
          // Create an OnClick Event in each button.
  
          Button btnExecute = (Button) findViewById(R.id.btnExecute);
          Button btnSave = (Button) findViewById(R.id.btnSave);
          Button btnClear = (Button) findViewById(R.id.btnClear);
  
          btnSave.setOnClickListener(new OnClickListener() {
              public void onClick(View arg0) {
              }
          });
          btnClear.setOnClickListener(new OnClickListener() {
              public void onClick(View arg0) {
              }
          });
          btnExecute.setOnClickListener(new OnClickListener() {
              private AlertDialog show;
  
              public void onClick(View arg0) {
                  if ((m1_sqs1.getText().length() == 0)
                          || (m1_sqs1.getText().toString() == " ")) {
                      show = new AlertDialog.Builder(mContext).setTitle("Error")
                              .setMessage("The Square Side length is empty")
                              .setPositiveButton("OK", null).show();
                  } else if (operator.getText().equals("")) {
                      show = new AlertDialog.Builder(mContext).setTitle("Error")
                              .setMessage(" is null").setPositiveButton(
                                      "OK", null).show();
                  }
                  {
                      double m1_sa_in = new Double(m1_sqs1.getText().toString())
                              * new Double(m1_sqs1.getText().toString());
                      m1_sa_in.setText(Double.toString(m1_sa_in));
                  }
              }
          }
  </code></pre>