2014-02-20 17 views
0

我想知道如何从列表中的对话框复选框中存储选定的项目?正如你可以看到以下情况,我已经启动了对话框,但我无法弄清楚如何将检查的项目存储在LIST中。我不确定哪个更好一个列表或ArrayList,所以如果您对此有任何建议,请告诉我。如何将CheckBox对话框中的选定项目放入列表中?

final String[] typeOfTransport = 
     { 
      "Bus", 
      "Pedestrian", 
      "Car", 
      "Tram", 
      "Bicycle",    
     }; 
    final boolean[] itemsChecked = new boolean[typeOfTransport.length]; 
    AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this); 
    dialogBuilder.setTitle("Select your transport:"); 
    dialogBuilder.setMultiChoiceItems(typeOfTransport, itemsChecked, new DialogInterface.OnMultiChoiceClickListener(){ 

     @Override 
     public void onClick(DialogInterface dialog, int which, boolean isChecked) { 
      itemsChecked[which] = isChecked;     
     }   
    }); 

    dialogBuilder.setPositiveButton("Set", new DialogInterface.OnClickListener(){ 

     @Override 
     public void onClick(DialogInterface dialog, int which) 
     { 
      String selectetdVal = " "; 
      for (int i = 0; i < typeOfTransport.length; i++) 
      { 
        if (itemsChecked[i]) 
        { 
        selectetdVal = selectetdVal + typeOfTransport[i]+ " "; 
        itemsChecked[i]=false; 
        } 
     } 
      //textBox2.setText(selectetdVal);    
      Toast.makeText(MainWindow.this, selectetdVal,Toast.LENGTH_SHORT).show(); 
     } 

    }); 

回答

0

检查文档,列表是一个接口。 你已经有一个数组与你的检查项目是不是?

Object[] array = new Object[]{"12","23","34"}; 
java.util.List list = Arrays.asList(array); 
+0

是的,但不会只是把所有的数组值列表?我只想把选定的项目不是全部。 – user3182266

+0

只是循环你的数组,如果项目被选中然后将它添加到你的列表中。 – gbero

相关问题