Java 从custome ArrayList创建AleartDialog的setSingleChoiceItems()方法
我有一个名为Grade的定制模型的ArrayList。此模型包含返回年级名称的getName方法 我的要求是 使用此ArrayList的Grade medel的getName方法通过传递gradeNames数组来创建Alert Dilog的setSingleChoiceItems 当我在AlertDialog上显示的列表中的某个项目上进行选择时,我还想返回所选的项目Whole Grade modelJava 从custome ArrayList创建AleartDialog的setSingleChoiceItems()方法,java,android,arraylist,android-alertdialog,Java,Android,Arraylist,Android Alertdialog,我有一个名为Grade的定制模型的ArrayList。此模型包含返回年级名称的getName方法 我的要求是 使用此ArrayList的Grade medel的getName方法通过传递gradeNames数组来创建Alert Dilog的setSingleChoiceItems 当我在AlertDialog上显示的列表中的某个项目上进行选择时,我还想返回所选的项目Whole Grade model builder.setSingleChoiceItems(gradeNames, -1, new
builder.setSingleChoiceItems(gradeNames, -1, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//**Here I want to get selected item back as "Grade" Object
notifyDataSetChanged();
}
});
请帮我缓解一下
谢谢大家! 使用:
设置SingleChoiceItems的内部。感谢您的回复。我想使用我的ArrayList创建gradeNames[],然后将其传递给创建singleItemList,当选择项时,我需要获取位于所选位置的baack整个Grade对象。使用String[]gradeNames=新字符串[yourArrayList.size]创建gradeNames。通过对每个ArrayList索引调用getName并将结果放入相应的gradeNames索引,使用for循环填充gradeNames。然后使用上面的setSingleChoiceItems代码和ArrayList.getwhich;获取所需的坡度对象。是。我已经用这种方式实现了。但是我正在寻找一些不需要创建单独字符串[]就可以完成的东西。你知道吗setSingleChoiceItems的一个实现将ListAdapter作为第一个参数。你可以试试看。
yourArrayList.get(which);