Articles of 游标

SimpleCursorAdapter,包含Android中的部分

当你使用Cursors和Custom SimpleCursorAdapter时,我对如何在ListView中生成部分感到有点失落。 许多文档使用getView()等引用,或创建多个适配器并添加节头。 但这些似乎都基于BaseAdapters,ListAdapters和ArrayAdapters等。 以前有人处理过类似的事吗? 如果没有,有关如何使这项工作的任何提示? 谢谢西蒙

如何在android中更改EditText气泡颜色(光标下)?

如何在android中更改EditText气泡的颜色,我可以更改光标可绘制但我想改变Bubble的颜色,请分享它的想法。 参考截图: 任何帮助,将不胜感激。

方法调用可能会产生java NullpointerException

我有一个代码: public String getNameUpdateEvent(long id) { Cursor mCursor = db.rawQuery(“select name from events WHERE _id=” + id + “;”, null); if (mCursor != null) { mCursor.moveToFirst(); } String updateNameEvent; updateNameEvent = mCursor.getString(mCursor.getColumnIndex(“name”)); return updateNameEvent; } 我收到了警告 Warning:(173, 45) Method invocation ‘mCursor.getColumnIndex(“name”)’ may produce ‘java.lang.NullPointerException’ 我怎么能解决它?

getLastVisiblePosition返回-1

我的ListView有问题(使用CursorAdapte r)。 当我调用getListView().getLastVisiblePosition()我收到-1 。 这是一个问题,因为我的列表中填充了项目。 此外, getListView().getFirstVisiblePosition()始终返回0,无论我在列表中滚动的位置。 有任何想法吗? 它与startManagingCursor有关 @Override public void changeCursor(Cursor cursor) { super.changeCursor(cursor); MyActivity.this.mCursor = cursor; //startManagingCursor(MyActivity.this.mCursor); } 如果我注释掉startManagingCursor,一切正常。 我还尝试在更改Cursor之前添加stopManagingCursor()并仍然stopManagingCursor()同样的问题。

Android SQLiteDatabase中的游标大小限制

我从互联网下载数据库。 我把它保存在我的datases文件夹中然后打开它。 在数据库内部有一个包含6个字段的“广告”表。 其中2个字段是BLOB。 当我想从这个表中读取…我有一些问题…我注意到当我读取一个blob字段超过1兆字节的行时,这会导致exception…“从行获取字段槽0 col 0失败“。 如果它有点blob,一切都还可以…提前感谢:)

Android – 关闭数据库后可以使用SQLite Cursor吗?

首先,如果我错了,请纠正我,但是如果你关闭数据库连接,你不能使用你从中得到的光标,对吗? db.open(); Cursor c = db.query(true, “MyTable”, columns, null, null, null, null, null, null); db.close(); // The Cursor is empty now because the db was closed… c.moveToNext(); Log.v(TAG, c.toString(0)); 那么在关闭数据库后有没有办法使用Cursor? 就像有没有办法将它传递到别处并使用它有点像一个对象? 或者,在完成光标操作之前,您是否始终保持数据库连接处于打开状态?

手动将行添加到Cursor中

我有一系列电话号码,我想从联系人数据库中获取相应的联系人姓名。 在电话号码数组中,我还有一些以前未保存到联系人数据库的号码。 例如; 3333333 – >蒂姆 5555555 – >吉姆 1111111 – >未知 我有包含上面显示的电话号码的数组,即phoneArr 。 int size=phoneArr.size(); if(size>0){ Cursor[] cursors=new Cursor[size]; for(int i=0;i<size;i++){ Uri contactUri1 = Uri.withAppendedPath(ContactsContract.PhoneLookup.CONTENT_FILTER_URI, Uri.encode(phoneArr.get(i))); cursors[i] = getContentResolver().query(contactUri1, PEOPLE_PROJECTION, null, null, " _id asc limit 1"); } Cursor phones=new MergeCursor(cursors); phones.getCount()在上面的场景中返回2。 当电话号码没有出现在联系人列表中时,光标变为空,不知何故,当我合并它们时,它根本没有任何贡献。 我想要的是有一个光标如下 光标手机 – > {Tim,Jim,1111111} 我想我可以通过手动添加行来执行此操作,如下所示: Uri contactUri1 = Uri.withAppendedPath(ContactsContract.PhoneLookup.CONTENT_FILTER_URI, Uri.encode(phoneArr.get(i))); […]

android没有关闭游标的缺点

我对Cursor有一些疑问。 我想知道不关闭Cursor什么缺点? 它释放资源,但是哪些资源被解除分配? 如果我们不关闭Cursor ? 会有什么后果和程度? 不关闭Cursor不会影响Activity ,但它会在log cat中出错。

如何为列表视图创建自定义游标适配器以用于图像和文本?

您想创建一个自定义光标适配器,以便我可以显示包含2行文本的图像。 我在理解自定义游标适配器时遇到了一些麻烦,但我不明白如何添加要从我的数据库中的路径填充的imageview。

分配游标时内存不足

我有一个我无法弄清楚的记忆问题。 我有一个类可以完成所有数据库检索工作。 我遇到的错误如下: android.database.CursorWindowAllocationException: Cursor window allocation of 2048 kb failed. # Open Cursors=733 (# cursors opened by this proc=733) 执行此操作时发生内存分配错误: mDatabaseInterface.getGraphForLevel(level); 我知道这是一个漏洞,因为我大约每2.5秒调用一次这种方法,并且5或6次首次呼叫很容易通过。 现在这里是我的DatabaseInterface类中的方法: public Graph getGraphForLevel(Level level) { //get the nodes ArrayList nodes = new ArrayList(Arrays.asList(this.getNodesWithLevel(level))); //get the edges ArrayList edges = new ArrayList(Arrays.asList(this.getEdgesWithNodes(nodes))); return new Graph(nodes, edges); } public Node[] getNodesWithLevel(Level level) { […]