实现onClickListener时出现问题

时间:2011-10-26 06:05:08

标签: android view

看到这个简单的代码,但我得到的描述
CheckboxActivity类型的onClick(View)方法必须覆盖onClick(View v)方法上的超类方法CheckboxActivity.java

public class CheckboxActivity extends Activity implements Button.OnClickListener{
        /** Called when the activity is first created. */
        Button b1;
        CheckBox c1, c2;
        EditText et1;
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            et1 = (EditText) this.findViewById(R.id.text1);
            c1 = (CheckBox) findViewById(R.id.check1);
            c2 = (CheckBox) findViewById(R.id.check2);
            b1 = (Button) findViewById(R.id.button1);
            b1.setOnClickListener(this);
        }

        @Override 
           public void onClick(View v){
            et1.setText("");
            if (c1.isChecked())
            et1.setText("Android ");
            if (c2.isChecked())
            et1.setText(et1.getText()+"iPhone ");
        }
    }

Anyone please help

3 个答案:

答案 0 :(得分:2)

尝试:

public class CheckboxActivity extends Activity implements OnClickListener

答案 1 :(得分:1)

首先删除onClick()。 然后将第一行更改为

public class CheckboxActivity extends Activity implements OnClickListener

并且导入应该是

android.view.View.OnClickListener;

然后在你的onCreate()之后做right click -> Source -> Override/Implemented Methods

将在对话框中自动选择onClick()。单击确定,然后在方法中输入您需要的内容。

答案 2 :(得分:0)

我没有Activity的来源,也没有编写代码和运行javac的工作环境,所以我只是在猜测,请检查一下自己:

  1. Activity已经有onClick方法 - 创建匿名OnClickListener 实例并将其传递给按钮(或从中删除继承 Button.OnClickListener并且不要忘记在视图时调用super 不是你的按钮)。也可能是合同有不同的访问权限 活动水平。
  2. 语言级别为1.5,您不能对接口使用注释@override。