Android 从视图生成SQLite查询
我有一个视图,它有一个Android 从视图生成SQLite查询,android,Android,我有一个视图,它有一个onClickListener,当用户单击某个位置时,我想查询数据库,然后从中提取数据。问题是我似乎不能在视图类中这样做,因为它不是一个活动 我尝试在活动中的布局上实现一个OnTouchListener,但视图的布局似乎覆盖了从那里获得触摸的任何尝试 所以,我尝试了一些方法,但都失败了。我想知道你们有什么想法吗?我如何实现它,以便当用户触摸屏幕时,我可以检索X Y值,然后查询数据库?使用getContext()方法查看。然后可以从上下文中获取数据库实例。 有点像这样: cl
onClickListener
,当用户单击某个位置时,我想查询数据库,然后从中提取数据。问题是我似乎不能在视图类中这样做,因为它不是一个活动
我尝试在活动中的布局上实现一个OnTouchListener
,但视图的布局似乎覆盖了从那里获得触摸的任何尝试
所以,我尝试了一些方法,但都失败了。我想知道你们有什么想法吗?我如何实现它,以便当用户触摸屏幕时,我可以检索X Y值,然后查询数据库?使用getContext()方法查看。然后可以从上下文中获取数据库实例。
有点像这样:
class TestView extends View{
public TestView(Context context) {
super(context);
SQLiteDatabase db = getContext().openOrCreateDatabase(...);
}
}
使用视图的getContext()方法。然后可以从上下文中获取数据库实例。
有点像这样:
class TestView extends View{
public TestView(Context context) {
super(context);
SQLiteDatabase db = getContext().openOrCreateDatabase(...);
}
}
我收到的
推文无法解析或不是以下内容的字段SQLiteDatabase db=getContext().tweets.getWritableDatabase()代码>为什么?我将其声明为类变量,这是因为getContext()返回的是上下文引用,而不是声明字段的类型的引用。您可以尝试将返回的引用强制转换为您的类型,即SQLiteDatabase db=((YourType)getContext()).tweets.getWritableDatabase();对不起,“您的类型”是什么意思?您正在尝试访问您自己的类的成员变量,我猜它扩展了上下文或活动。您的类型是您的类。我收到的推文无法解析或不是以下内容的字段SQLiteDatabase db=getContext().tweets.getWritableDatabase()代码>为什么?我将其声明为类变量,这是因为getContext()返回的是上下文引用,而不是声明字段的类型的引用。您可以尝试将返回的引用强制转换为您的类型,即SQLiteDatabase db=((YourType)getContext()).tweets.getWritableDatabase();对不起,“您的类型”是什么意思?您正在尝试访问您自己的类的成员变量,我猜它扩展了上下文或活动。你的类型就是你的班级。