为什么我不允许在这种情况下使用 setOnClickListener?
Why am I not allowed to use setOnClickListener in this situation?
这没有意义,我收到一条错误消息,提示无法将 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);
}
您必须像这样声明 MainActivity:
public class MainActivity extends ActionBarActivity implements View.OnClickListener
然后你必须重写 MainActivity 中的 onClick 方法
@Override
public void onClick(View v) {
//do something...
}
正如我们所见,您尚未在 Main activity 上实施 View.OnClickListener
。
this
会被当作MainActivity
使用但是可以传递的参数是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);
}
您必须像这样声明 MainActivity:
public class MainActivity extends ActionBarActivity implements View.OnClickListener
然后你必须重写 MainActivity 中的 onClick 方法
@Override
public void onClick(View v) {
//do something...
}
正如我们所见,您尚未在 Main activity 上实施 View.OnClickListener
。
this
会被当作MainActivity
使用但是可以传递的参数是OnClickListener
旁注:在使用之前始终尝试进行类型转换,这会大大减少复杂性,有时会让您犯错误。