jjzjj

android - 如果 moveToFirst() 为 false,是否需要关闭 Cursor?

如果cursor.moveToFirst()返回false,我还需要关闭它吗?因为它在光标为空时返回false。我怀疑正确的方法:if(cursor!=null&&cursor.moveToFirst()){//somecodecursor.close();}或者:if(cursor!=null){if(cursor.moveToFirst()){//somecode}cursor.close();} 最佳答案 您必须关闭所有非空的游标,无论它们是否填充了条目。上述声明的唯一异常(exception)是,如果您知道有问题的Curso

android - 有人可以解释一下 android 中的 Cursor 吗?

有人能解释一下光标的具体工作原理吗?或者下面部分代码的流程?我知道这是子Activity,但我不明白Cursor是如何工作的。finalUridata=Uri.parse("content://contacts/people/");finalCursorc=managedQuery(data,null,null,null,null);String[]from=newString[]{People.NAME};int[]to=newint[]{R.id.itemTextView};SimpleCursorAdapteradapter=newSimpleCursorAdapter(this

android - 滚动基于 Cursor 的适配器的大列表比内存中适配器的小列表快得多

我有一个Android应用,它既有基于CursorAdapter的ListView(由sqlite支持),也有基于自定义BaseAdapter的ListView是根据从服务器下拉的JSON动态构建的。两者显示的数据是相同的-一个图像和几个TextView。我的基于Cursor的ListView有3000行,基于JSON的ListView大约有30行。但是,对于基于Cursor的适配器,向下滚动列表的速度要快得多。对于基于JSON的列表,数据是在行可见之前全部获取的。两种类型列表的图像均按需下载。我将两个ListView配置相同-都将fastScrollEnabled、scrolling

android - AlphabetIndexer setCursor 不更新其缓存

我正在尝试使用AlphabetIndexer实现快速滚动条,但是当光标发生变化时,它不会刷新索引缓存。在我的CursorAdapter构造函数中,我调用了setCursor(cursor)但没有任何变化,并且根据文档:YouradapterisresponsibleforupdatingthecursorbycallingsetCursor(Cursor)ifthecursorchanges.getPositionForSection(int)methoddoesthebinarysearchforthestartingindexofagivensection(alphabet).但是

android - 如何将光标从android Activity 发送到 fragment

实际上我知道如何将额外的值从Activity发送到fragment,但我需要将联系人游标发送到fragment,然后我将该游标传递到游标适配器并在ListView中显示数据。 最佳答案 有多种方法可以完成您想要做的事情。只有其中一些要求您在创建fragment之前拥有Cursor。您可以创建一个方法来创建fragment并传入光标:publicclassYourFragmentextendsFragment{privateCursormCursor;publicstaticYourFragmentcreateYourFragment

android - 在进程之间传递游标(Parcelable Cursor)

我需要将Cursor(SQLiteCursor)从服务传递到API10上的应用程序,并且很难找到一个像样的(和快速)解决方案。我看过CursorWindow类。这是Parcelable但我无法在API10上实例化此类以使用SQLiteCursor.fillWindow()因为它没有有效的构造函数。CursorWindow(boolean)已弃用。即使我得到一个包含来自SQLiteCursor的数据的CursorWindow实例,我如何将这个窗口复制到一个新的Cursor中?我应该为此使用什么Cursor实现?我看不到扩展AbstractWindowedCursor的可用Cursor。感

android - 构造函数 SimpleCursorAdapter(Context, int, Cursor, String[], int[]) 已弃用

如何解决这个问题?TheconstructorSimpleCursorAdapter(Context,int,Cursor,String[],int[])isdeprecated和ThemethodmanagedQuery(Uri,String[],String,String[],String)fromthetypeActivityisdeprecated代码如下:packagecom.example.kamusdigital;importandroid.app.Activity;importandroid.os.Bundle;importandroid.view.View;impor

按下后退按钮时 Android runOnUiThread 崩溃

我正在使用DownloadManager从服务器下载文件,我正在从适配器执行此操作,并且我正在使用runOnUiThread在fragment中显示下载进度。它运行良好,但是当我在下载时按下后退按钮时,runOnUiThread抛出NullPointerException。我尝试使用if语句在onPause中放置一个变量来停止该方法,但它也不起作用。您建议如何解决此崩溃问题?这是我的代码:newThread(newRunnable(){@Overridepublicvoidrun(){downloading=true;while(downloading){DownloadManager

android - 无法从 hashmap 的数组列表中删除重复元素

我正在从内容提供商获取联系人,我需要在ListView中显示它们。在此过程中,我成功获取了联系人,但它们包含重复值。现在Phone.CONTACT_ID对于每个联系人都是唯一的。我想根据该特定字段过滤我的联系人数组列表。代码如下:try{cursor=getApplicationContext().getContentResolver().query(Phone.CONTENT_URI,null,null,null,null);intIdx=cursor.getColumnIndex(Phone.CONTACT_ID);intnameIdx=cursor.getColumnIndex(

android - 在 GridView 中获取 View 的 ID

我试过的大家好,我首先创建了一个数据库,其中填充了3个列、RowID、imageID、文本。之后,我创建了一个GridView,如果填充了我的数据库。现在我创建了一个onItemClickListner,我想在其中获取位置上的imageID。在那之后,我在这个imageID之后搜索我的数据库表,以获取文本。这些东西我需要保存在我的另一个表中。问题是我认为,我没有得到imageID,并且像数据库中的这个serach一样,如果你看一下Logcat,你会发现它是空的,所以它可能没有得到imageID或者我在我的DBAdapter中搜索不像我应该的那样。问题重要信息:终于把Viewthx的ID