Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 为AutoCompleteTextView设置ArrayAdapter vs cursorAdapter_Android_Sqlite_Autocompletetextview - Fatal编程技术网

Android 为AutoCompleteTextView设置ArrayAdapter vs cursorAdapter

Android 为AutoCompleteTextView设置ArrayAdapter vs cursorAdapter,android,sqlite,autocompletetextview,Android,Sqlite,Autocompletetextview,我有一个autoCompleteTextView,我想用保存在数据库中的值填充它。某一天,列中的值可能会达到数千(根据使用情况) 如果我使用方法1(更简单的方法),我不确定ACtextView的性能: 方法1: 在databaseHelper类中定义一个方法,该方法以字符串数组的形式返回整个列的值。将字符串数组传递给arrayAdapter。然后将此适配器设置为ACtextView适配器 方法2: 定义CursorAdapter类并使用它在ACtextView中填充结果。这是描述此方法的链接 如

我有一个autoCompleteTextView,我想用保存在数据库中的值填充它。某一天,列中的值可能会达到数千(根据使用情况)

如果我使用方法1(更简单的方法),我不确定ACtextView的性能:

方法1:

在databaseHelper类中定义一个方法,该方法以字符串数组的形式返回整个列的值。将字符串数组传递给arrayAdapter。然后将此适配器设置为ACtextView适配器

方法2:

定义CursorAdapter类并使用它在ACtextView中填充结果。这是描述此方法的链接


如果您的数据模型是sqlite db,请不要使用ArrayAdapter,而是使用CursorAdapter的一个子类(例如SimpleCursorAdapter),使用ArrayAdapter并不是一种更简单的方法

我不认为使用方法1有任何好处。如果有的话,您将不得不处理每次更新数据库时创建大型字符串数组的开销。。。