Android中使单选项列表框默认选中前次保存的值(即setSingleChoiceItems方法的使用)

来源:互联网 发布:中关村人工智能活动季 编辑:程序博客网 时间:2021/04/13 09:13

在项目当中,我们会经常使用到如下的单选列表框。



更多的时候,我们希望每当我们点击进入这个列表框的时候,它会默认选中我们上一次保存的值(不考虑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参数传入即可。