Android 带有 imageview 的数据库处理程序
Android database handler with imageview
我创建了一个 activity,它使用 canvas,我可以在上面画画。
在 activity 中,我需要从我在别处创建的 table 中检索数据。
在其他活动中,我使用了下面的数据库处理程序,它工作正常。
这里没有,我想是因为我扩展了 imageview(canvas 需要)而不是扩展 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
}
}
...这是我得到的错误:
"examplecanvas.this" 没有您想提供给 DBHandler 构造函数的上下文。您应该在 getmydata() 函数中将 Context 作为参数传递(然后在调用此方法时使用 YourActivity.this 或 getActivity(),具体取决于 Activity 或 Fragemnt)。或者简单地使用在扩展的 ImageView 构造函数中接收到的上下文。
您的数据库处理程序需要上下文,因此您可以通过
new myDbHandler1(getContext(), ...);
我创建了一个 activity,它使用 canvas,我可以在上面画画。
在 activity 中,我需要从我在别处创建的 table 中检索数据。
在其他活动中,我使用了下面的数据库处理程序,它工作正常。
这里没有,我想是因为我扩展了 imageview(canvas 需要)而不是扩展 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
}
}
...这是我得到的错误:
"examplecanvas.this" 没有您想提供给 DBHandler 构造函数的上下文。您应该在 getmydata() 函数中将 Context 作为参数传递(然后在调用此方法时使用 YourActivity.this 或 getActivity(),具体取决于 Activity 或 Fragemnt)。或者简单地使用在扩展的 ImageView 构造函数中接收到的上下文。
您的数据库处理程序需要上下文,因此您可以通过
new myDbHandler1(getContext(), ...);