草庐IT

column_cursor

全部标签

android - 我怎样才能让我的 Cursor 在方向改变时存活下来?

我正在努力使我的应用旋转友好,但我在保存光标时遇到了一些问题。游标在ListView中显示了大约13k+行数据,因此如果每次配置更改时我都重新查询,将花费相当长的时间。在我的onRetainNonConfigurationInstance()中,我返回我的Cursor,然后通过getLastNonConfigurationInstance()检索它。但是,我检索到的游标似乎已经关闭,因此我的适配器无法再呈现列表。据我了解,游标已关闭,因为onDestroy()会自动关闭所有游标。我这样保存Cursor:@OverridepublicObjectonRetainNonConfigurat

java - startManagingCursor(cursor) 弃用方法

我使用了这段代码:Cursorc=cr.query(message,null,null,null,null);startManagingCursor(c);但是startManagingCursor(c)是一个已弃用的方法。我该如何更换它? 最佳答案 此方法已在API级别11中弃用。使用新的CursorLoader用LoaderManager上课反而;这也可以通过Android兼容包在旧平台上使用。查看thistutorialseries. 关于java-startManagingCur

Android 编辑文本 : How to disable cursor move on touch?

我有EditText,它显示类似###-###的内容。我希望用户只能从第一个位置开始更改此文本。那就是用户不应该能够触摸中间的#并更改它。我怎样才能做到这一点?非常感谢。抱歉,我的问题不够准确。我想禁止在文本中间点击。 最佳答案 如果用户试图通过点击编辑文本来移动它,下面的代码将强制光标停留在最后的位置:edittext.setCursorVisible(false);edittext.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){

java - Gradle 构建失败,出现 java.lang.IllegalStateException : Expected BEGIN_ARRAY but was STRING at line 1 column 1 path $

我正在构建一个从Firebase获取数据的应用程序,将其添加到数组适配器中并在ListView中显示。当我尝试构建应用程序时,它失败了:Error:Executionfailedfortask':app:transformClassesWithInstantRunForDebug'.java.lang.IllegalStateException:ExpectedBEGIN_ARRAYbutwasSTRINGatline1column1path$我的Activity:packageapp.nert;importandroid.content.Intent;importandroid.co

Android 兼容库 CursorLoader : java. lang.IllegalStateException: Cursor is closed

我目前在带有Android兼容性库的Fragment中使用CursorLoader。几乎每次,在Droid2上(我无法在NexusOne或Sensation上重现),似乎游标关闭得太快,这会导致各种错误。不幸的是,这些痕迹在我的代码中没有指向任何有用的地方(因为问题是为什么Cursor被关闭,而不是当Android注意到时),所以我真的很难弄清楚出了什么问题。还有其他人遇到过这个问题吗?(或者知道可能会发生什么)。一些堆栈跟踪:java.lang.IllegalStateException:Cursorisclosedatandroid.database.sqlite.SQLiteCu

android - 无法解决 SonarQube 错误 "Make this line start at column 3"

我在xml(布局、字符串、可绘制对象...)中有很多行都存在此错误。我试图将每个列的空间更改为3,以便在出现此错误的行中放置3个选项卡,但我在SonarQube中仍然遇到此错误。我该如何解决这个问题?我在这里举了一个我遇到这个错误的例子: 最佳答案 为了遵守“让这一行从第3列开始”的规则,您必须将代码缩进2个空格。我建议您在项目的根目录下使用.editorconfig文件(参见EditorConfig),内容如下:root=true[*]charset=utf-8end_of_line=lfinsert_final_newline=

安卓 GridView 安卓 :numColumns ="auto_fit" always create only two columns

您好,我正在开发小型android应用程序,我想在其中显示带有一些元素的简单gridview。它工作正常。唯一的问题是即使有空间,它也总是只显示两列。它平均将屏幕分成2列并仅显示两个元素。如果我将列数设置为数字,即不是auto_fit,那么它会正确显示。我的代码如下所示:我的网格元素看起来像:我做错了什么吗?需要一些帮助。谢谢。 最佳答案 看起来自动调整设置仅适用于固定列宽的情况。这是GridView源代码中唯一使用自动调整设置的地方:privatebooleandetermineColumns(intavailableSpace)

安卓工作室 : How to change default cursor style and behavior?

在Eclipse和许多其他编辑器中,我们对这些Cursor有相同的行为样式:插入模式:光标在其当前位置插入一个字符,强制所有字符从它后面移动一个位置。Overtype模式:光标在输入时会覆盖当前位置的任何文本。但是在AndroidStudio中,这个光标的行为是相反这对我来说很烦人,谁能告诉我如何解决这个问题?(我们知道在Windows中,我们可以通过按Insert键来切换光标行为和样式) 最佳答案 我终于找到了解决问题的办法:)所以,下面是它的修复:File->Settings->Editor(IDESettings)->Appe

Android 光标错误 - "make sure cursor is initialized correctly before accessing data from it..."

我有一个Activity,其中一个viewflipper显示一个列表,其中包含来自mediastore的艺术家,单击该项目会显示所选艺术家的专辑列表,而该列表又会显示该专辑中的歌曲。单击一首歌曲后,它应该使用字符串“title”填充TextView。直到此时,所有的游标都工作正常,但最后一个似乎不知何故错位了。谁能告诉我为什么logcat告诉我:05-0723:58:54.195:E/AndroidRuntime(1961):java.lang.IllegalStateException:Couldn'treadrow3,col-1fromCursorWindow.Makesureth

android - 从 Cursor 过滤行,这样它们就不会显示在 ListView 中

我有一个返回行的游标,我使用SimpleCursorAdapter来填充ListView。我想过滤一些行,这样它们就不会显示在我的ListView中。我在Activity的其他地方使用行中的数据,所以我不想更改我的SQL以使用WHERE子句过滤它们。阻止某行显示在我的ListView中的最佳方法是什么?理想情况下,我会检查行中的一列,然后只将满足条件的行添加到ListView。 最佳答案 创建一个CursorWrapper并覆盖move...()方法以转换过滤集中的位置(这就是ListView将看到)和实际Cursor中的位置。然后