为什么我不允许在这种情况下使用setOnClickListener?

时间:2015-03-27 15:47:24

标签: android onclicklistener

这没有任何意义,我收到一条错误消息,说setOnClickListener无法应用于MainActivity。但我做了其他项目,我从来没有遇到过这个问题。发生了什么事?

public class MainActivity extends ActionBarActivity {

Button button;

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


    button = ((Button) findViewById(R.id.button));

    button.setOnClickListener(this);

}

2 个答案:

答案 0 :(得分:10)

你必须像这样声明MainActivity:

public class MainActivity extends ActionBarActivity implements View.OnClickListener

之后你必须覆盖MainActivity中的onClick方法

@Override
public void onClick(View v) {
     //do something...
} 

答案 1 :(得分:1)

我们可以看到您未在主要活动上实施View.OnClickListenerthis将用作MainActivity,但可传递的参数为OnClickListener

SideNote:在使用之前总是尝试进行类型转换,这大大减少了并发症,有时会让你犯错误。