所以,我在教程的基础上创建了自定义微调器(
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"))