从Android活动

时间:2015-05-11 13:58:58

标签: java android android-alertdialog android-dialog

我在android

中的活动中实现了一个对话框

它有相机名称列表和复选框以选择它们。

我需要支持来实施以下方案:

  1. 当我们开始活动时,有用户可以选择最多4个名字的限制
  2. 因此,当我们第一次打开对话框时,用户可以选择1个或多个最多4个摄像机名称。
  3. 如果用户选择全部4,则其余行必须变暗,以避免用户再选择。
  4. 如果用户选择例如2,则下次再次打开对话框时,所选行必须变暗/禁用,以便用户无法再次选择它们。
  5. 然后他可以从对话框列表中选择最多2个摄像头(总计4个)
  6. 所以重点是......只有4个相机才有限制。

    用户可以选择1次,也许2个相机然后再回来再选择2个。

    每次打开对话框时,必须禁用之前选定的摄像机行,以便用户无法再次选择

    请让我知道如何实现第3,4和5点。

    请找到我的对话框的代码:

     String[] arStrCam = se.split(",");
     for (int i = 0; i < arStrCam.length; i++)
                {
                    checkedItems[i] = false;
                }
    
                Builder builder = new AlertDialog.Builder(this);
                builder.setTitle(R.string.Channel);
                builder.setMultiChoiceItems(arStrCam, checkedItems, new DialogInterface.OnMultiChoiceClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which, boolean isChecked)
                    {
      }
                });
                builder.setPositiveButton(R.string.OK, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which)
                    {
                        mStrCamList = "";
                        for (int i = 0; i < checkedItems.length; i++)
                        {
                            if (checkedItems[i] == true)
                            {
                                    mStrCamList += arStrCam[i]+",";
                               }
                        }
                       if (mStrCamList.equals("") == true)
                        {
                            dialog.dismiss();
                           showToast(R.string.Select_one_or_more_channel);                      
                        }
                        else
                        {
                          Toast.makeText(FavoriteDeviceListActivity.this, mStrCamList, 
                                    Toast.LENGTH_SHORT).show();
                            dialog.dismiss();
                            addDisplay(mCamName, mCamModel, mStrCamList);                     
                        }                    
                    }
                });
                builder.setNegativeButton(R.string.Cancel, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which)
                    {
                        dialog.dismiss();                    
                    }
                });
                builder.create().show();
    

0 个答案:

没有答案