我创建了一个使用画布的活动,我可以画画。
在活动中,我需要从我在别处创建的表中检索数据。
在其他活动中,我使用了下面的数据库处理程序,它运行正常。
在这方面它没有,我认为因为我扩展了imageview(画布所需)而不是扩展Activity。
提前感谢您的帮助......
这是我的代码:
public class examplecanvas extends ImageView {
float xPos, yPos;
private PointF point;
private Paint paint = new Paint();
public examplecanvas(Context context) {
super(context);
}
public examplecanvas(Context context, AttributeSet attrs) {
super(context, attrs);
}
public examplecanvas(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
public boolean onTouchEvent(@NonNull MotionEvent event) {
float x = event.getX();
float y = event.getY();
}
return true;
}
@Override
protected void onDraw(@NonNull Canvas canvas) {
super.onDraw(canvas);
if (point != null) {
canvas.drawCircle(point.x, point.y, 100, paint);
canvas.save();
}
}
public void getmydata() {
String parenta = "parent"
myDBhandler1 dbHandler;
dbHandler = new myDBhandler1(examplecanvas.this, null, null, 1); <<<<HERE IS THE ERROR
}
}
...这就是我得到的错误:
答案 0 :(得分:1)
您的数据库处理程序需要上下文,因此您可以传递
new myDbHandler1(getContext(), ...);
答案 1 :(得分:0)
&#34; examplecanvas.this&#34;没有像你想要提供给DBHandler构造函数的上下文。您应该在getmydata()函数中将Context作为参数传递(然后在调用此方法时使用YourActivity.this或getActivity(),取决于Activity或Fragemnt)。或者只是使用扩展的ImageView构造函数中收到的Context。