我在滑动选关界面点击一个图片按钮(canvas.drawBitmap()), 点击之后实现返回效果跳转到欢迎界面。我点击之后出现了空指针异常,求大侠帮看看。滑动选关是用HorizontalScrollView实现的。public class SelectMenu extends SurfaceView implements SurfaceHolder.Callback{
....
public SelectMenu(Context context, AttributeSet attrs) {
super(context,attrs);
// 调用回调函数
getHolder().addCallback(this);
...
}
public void OnMyDraw(Canvas canvas){
....
}
//对选择界面的的返回按钮进行监听
public boolean onTouchEvent(MotionEvent event) {
if(event.getX()>2&&event.getX()<back.getWidth()+2
&&event.getY()>426&&event.getY()<back.getHeight()+426){
//在activity中0是调用进入欢迎界面的方法
activity.myHandler.sendEmptyMessage(0);//这行是空指针异常....
}
return true;
}
而我的欢迎界面没有用到布局。 public class WelcomeView extends SurfaceView implements SurfaceHolder.Callback {
private MainActivity mainActivity;
...
public WelcomeView(MainActivity mainActivity) {// 构造器
super(mainActivity);
this.mainActivity = mainActivity;
}
...
....
public SelectMenu(Context context, AttributeSet attrs) {
super(context,attrs);
// 调用回调函数
getHolder().addCallback(this);
...
}
public void OnMyDraw(Canvas canvas){
....
}
//对选择界面的的返回按钮进行监听
public boolean onTouchEvent(MotionEvent event) {
if(event.getX()>2&&event.getX()<back.getWidth()+2
&&event.getY()>426&&event.getY()<back.getHeight()+426){
//在activity中0是调用进入欢迎界面的方法
activity.myHandler.sendEmptyMessage(0);//这行是空指针异常....
}
return true;
}
而我的欢迎界面没有用到布局。 public class WelcomeView extends SurfaceView implements SurfaceHolder.Callback {
private MainActivity mainActivity;
...
public WelcomeView(MainActivity mainActivity) {// 构造器
super(mainActivity);
this.mainActivity = mainActivity;
}
...
我在想是不是两个View的构造器不同, SelectMenu中的是super(context,attrs); 而WelcomeView中是super(mainActivity);
public void initAndToWelcomeView() {
welcomeView = new WelcomeView(this);
setContentView(welcomeView);
}