android builder.setsinglechoiceitems默认值怎么获取

大哥,打扰一下,android builder.setsinglechoiceitems默认值怎么获取
最新回答
花月似霰

2024-04-23 00:01:32

更多的时候,我们希望每当我们点击进入这个列表框的时候,它会默认选中我们上一次保存的值(不考虑Preferences控件,Preferences控件会自动保存我们选择的值),而不是每次进入后它都是停留在第一个项目上。想要实现这个效果很简单,只要我们对AlertDialog.Builder的setSingleChoiceItems()方法做一些简单了解就可以。
setSingleChoiceItems()有四个重载的方法:
1、从资源文件中装载数据:
public AlertDialog.Builder setSingleChoiceItems(int itemsId, int checkedItem, final OnClickListener listener)
2、从数据集中装载数据
public AlertDialog.Builder setSingleChoiceItems(Cursor cursor, int checkedItem, String labelColumn, final OnClickListener listener)
3、从字符串数组中装载数据
public AlertDialog.Builder setSingleChoiceItems(CharSequence[] items, int checkedItem, final OnClickListener listener)
4、从ListAdapter对象中装载数据
public AlertDialog.Builder setSingleChoiceItems(ListAdapter adpater, int checkedItem, final OnClickListener listener)

我们只需要关注第二个参数:
checkedItem:指定哪个项目被选中,默认为0表示选中第一个项目,-1表示没有项目被选中
所以我们只需要先从保存的数据中得到原先的序号,将此序号作为checkedItem参数传入即可。
青春命葬校园

2024-04-23 08:50:39

setSingleChoiceItems()里面少传了一个参数 String 类型的;单看是用来表示你要传入Cursor的第几列,跟数据库的columnName差不多