android – setMultiChoiceItems()不显示项目

前端之家收集整理的这篇文章主要介绍了android – setMultiChoiceItems()不显示项目前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用DialogFragment显示带有多项选项的Dialog,它显示Dialog但没有项目,没有要选择的复选框.

这是我调用对话框的方式:

  1. botAddMedicacion.setOnClickListener(new View.OnClickListener() {
  2. @Override
  3. public void onClick(View v) {
  4. DialogFragment fragAddMedic = new AnadirMedicacionFragment();
  5. fragAddMedic.show(getFragmentManager(),"addMedicacion");
  6. }
  7. });

这是AnadirMedicacionFragment代码

  1. final CharSequence[] items={".NET","J2EE","PHP"};
  2.  
  3. @Override
  4. public Dialog onCreateDialog(Bundle savedInstanceState){
  5.  
  6. medicSelec = new ArrayList();
  7.  
  8. AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
  9. builder.setMessage(R.string.anadir_medicacion);
  10.  
  11.  
  12. // elementos de la lista
  13. builder.setMultiChoiceItems(items,null,new DialogInterface.OnMultiChoiceClickListener() {
  14. @Override
  15. public void onClick(DialogInterface dialog,int which,boolean isChecked) {
  16.  
  17. if (isChecked) {
  18. medicSelec.add(which);
  19. } else if (medicSelec.contains(which)) {
  20. medicSelec.remove(Integer.valueOf(which));
  21. }
  22.  
  23. }
  24. });
  25.  
  26. // boton ok
  27. builder.setPositiveButton(R.string.anadir,new DialogInterface.OnClickListener(){
  28. @Override
  29. public void onClick(DialogInterface dialog,int which) {
  30.  
  31. }
  32. });
  33.  
  34. // boton cancelar
  35. builder.setNegativeButton(R.string.cancelar,int which) {
  36.  
  37. }
  38. });
  39.  
  40. return builder.create();
  41. }

项目列表在builder.setMultiChoiceItems中传递(items,null […]

它似乎有效,但没有复选框或列表.

解决方法

问题是你有一个setMessage和一个setMultiChoiceListener.你只能拥有其中一个.试试这个:
  1. AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
  2. builder.setTitle(R.string.anadir_medicacion);

猜你在找的Android相关文章