这没有任何意义,我收到一条错误消息,说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);
}
答案 0 :(得分:10)
你必须像这样声明MainActivity:
public class MainActivity extends ActionBarActivity implements View.OnClickListener
之后你必须覆盖MainActivity中的onClick方法
@Override
public void onClick(View v) {
//do something...
}
答案 1 :(得分:1)
我们可以看到您未在主要活动上实施View.OnClickListener
。
this
将用作MainActivity
,但可传递的参数为OnClickListener
SideNote:在使用之前总是尝试进行类型转换,这大大减少了并发症,有时会让你犯错误。