转自:http://blog.csdn.net/jiangxinyu/article/details/8572280
The constructor Intent(new XXX.OnclickListener(){}, Class) is undefined
在Android开发中,会遇到这样一种情况,在点击一个按钮进入另一个Activity时,会发生上述问题,问题代码如下:
OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
Intent intent = new Intent(this, XXXActivity.class);
startActivity(intent);
}
}
这部分代码在OnClickListener中。出现问题的原因可能是,在一个匿名类(上述的类是OnClickListener),this通常是指OnClickListener而不是Activity。intent的第一个参数是Context(应该注意是Activity而不是其他的什么(比如这里的OnClickListener)),因此导致了出现的错误。
解决方案一:
Intent intent = new Intent(ZZZActivity.this, XXXActivity.class);
解决方案二:
final Intent intent = new Intent(ZZZActivity.this,XXXActivity.class);
***.setOnClickListener(new OnClickListener){
public void onClick(View arg0) {
startActivity(intent);
}
}
解决方案三:
final Intent intent = new Intent(this,XXXActivity.class);
***.setOnClickListener(new OnClickListener){
public void onClick(View arg0) {
startActivity(intent);
}
}