2016-08-14 3 views
-1

私が描くことができるキャンバスを使用するアクティビティを作成しました。画像ビュー付きAndroidデータベースハンドラー

アクティビティ内では、他の場所で作成したテーブルからデータを取得する必要があります。

他のアクティビティでは、以下のデータベースハンドラを使用していますが、正常に動作します。

アクティビティを拡張するのではなく、イメージビューを拡張しています(キャンバスに必要です)。

は、任意の助けを事前にいただきありがとうございます....ここ

は私のコードです:

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 

} 
} 

...そしてこれは私が取得エラーです:

error message

答えて

1

あなたのデータベースハンドラは、コンテキストが必要なので、あなたは

new myDbHandler1(getContext(), ...); 
を渡すことができます
0

"examplecanvas.this"には、DBHandlerコンストラクタに提供したいコンテキストがありません。 getmydata()関数のコンテキストをパラメータとして渡す必要があります(このメソッドを呼び出すときはYourActivity.thisまたはgetActivity()を使用し、ActivityまたはFragemntに依存します)。または、拡張ImageViewコンストラクタで受け取ったコンテキストを使用します。

関連する問題