我有一个应用程序,用户可以在EditText字段中输入艺术家的名字并将其添加到sqlite表中。这很好,但我也有一个微调,在我想更新这些新的更改相同的活动/布局。以下是我如何设置:SQLite更新时更新微调器
我有一个sqlite类将插入新的名称和方法,将查询表并返回一个'ArtistList'数组。
在我的活动中,我可以在首次创建时使用数组适配器将ArtistList放入微调器中。
用户在EditText上进入了一个新的名字,更新SQLite表,成功...
我试图通过运行sqlite的方法ArtistList但仍然微调不会更新重装ArrayList和ArrayAdapter,它在更新之前仍然具有相同的旧列表。我知道我可以做一个artistList.add(),但这将使列表不按顺序。我想要按照字母顺序排列这个列表,这就是为什么我要从sqlite类中检索ArrayList,sqlite正在为我组织数据。
我尝试使用setNotifyOnChange,我试过一个新的(和清除)arraylist和适配器...没有任何工作。
这是跑的onCreate:
sqlclass helper = new sqlclass(this);
SQLiteDatabase db = helper.getWritableDatabase();
artistList = helper.getArtistList(db, tableName);
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, artistList);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
adapter.setNotifyOnChange(true);
感谢您的帮助!
没关系... 我最终创造了一个新的适配器......并添加了spinner.setAdapter(适配器)。不知道是否应该在那里,因为微调显示查找,直到更新,但它现在的工作...
你是说在我的sqlite中使用CursorAdapter吗?我正在谷歌研究这个,因为我不理解这一点。该CursorAdapter是否应该帮助我创建ArrayList?因为我能够获得更新的数组列表就好了,它只是微调不更新。 –
我很抱歉,我很快就回答了这个问题,并且没有太多支持......如果您使用的是阵列适配器,您是否保留对您的数据集的列表的引用并将其替换?如果是这样,关闭setNotifyOnChange(true)(设置为false),使用clear,然后addAll()与新的数据集,然后调用notifyDataSetChanged() 用于必须做这样的事情与DataAdapters在摆动与模型设置他们有。 我再次对最初的模糊回应表示歉意。 –