【发布时间】:2017-11-18 17:35:42
【问题描述】:
所以,我根据 (Android - configure Spinner to use array) 和 (http://www.katr.com/article_android_spinner01.php) 的教程创建自定义微调器
她是我的代码示例
getAkun.getAkunUserKategori(data,tipee, new Akun_Get.dataCallBack() {
@Override
public void getData(List<tblAkunDatabase> value) {
result = value;
List<spinerAkun> daatspiner;
daatspiner = new ArrayList<spinerAkun>();
for(int i = 0;i< result.size();i++)
{
daatspiner.add(new spinerAkun(result.get(i).getKdAkun(),result.get(i).getNmAkun()));
ArrayAdapter<String> adapter = new ArrayAdapter(Edit_Jurnal.this, android.R.layout.simple_dropdown_item_1line, daatspiner);
spin.setAdapter(adapter);
}
}
});
所以,实际上它正在工作。但问题是当我尝试从数据库设置微调器值时。通过使用 spin.setSelection(daatspiner.indexof("datafromdatabase")) 。但它得到一个错误“android.content.res.Resources$NotFoundExceptionn: String resource ID #0xffffffff at .....”。所以要解决这个问题?谢谢你
更新
好的,我不知道这是否真的解决了我的问题。但是我的双赢解决方案是创建另一个数组,所以我可以从 tatx 数组中获取索引,并将 taht 数组中的索引用于我的微调器spin.setSelection(Arrays.asList(array).indexOf("value"))
【问题讨论】:
-
如果我理解您的问题,您希望将数据库值添加到微调器,然后选择微调器值之一?
-
@BrunoFerreira 是的,在我从数据库获取数据到微调器后,我想根据数据库上的选定数据将选定的值设置为微调器
-
daatspiner.indexof("datafromdatabase")是一个数字? -
@BrunoFerreira 是的,尝试使用“datafromdatabase”获取值的索引号
-
如果你这样做
Integer.parseInt(daatspiner.indexof("datafromdatabase")),那么代码将是spin.setSelection(Integer.parseInt(daatspiner.indexof("datafromdatabase")))
标签: android spinner android-spinner