吐司声明中的不兼容类型错误
问题描述:
即时尝试创建一个消息,显示坐标取决于用户在屏幕上单击的位置。当我声明'mContext = this'时,我得到一个错误:需要不兼容的类型:上下文。吐司声明中的不兼容类型错误
@覆盖 公共布尔的onTouchEvent(MotionEvent事件) { // motionevent从用户 浮子X检测运动; x = event.getX(); float y; y = event.getY(); 上下文mContext; 开关(event.getAction()){ 情况 MotionEvent.ACTION_UP:
// touch_up(X,Y);
mContext = this;
float Cox = event.getRawX();
float Coy = event.getRawY();
String text = "You clicked at x = " + Cox+ "and y =" + Coy;
//AlertDialog.Builder builder = new AlertDialog.Builder();
Toast.makeText(mContext, text, Toast.LENGTH_SHORT).show();
//toast.show();
invalidate();
break;
}
return true;
}
答
这是在一个Activity或Fragment中吗? this
将在Activity中工作,但是在Fragment中,您需要调用主机Activity的上下文。
类似于: mContext = getActivity(); Toast.makeText(mContext, text, Toast.LENGTH_SHORT).show();