Android 具有多项选择的列表视图

Android 具有多项选择的列表视图,android,android-listview,Android,Android Listview,我在ListView中有一个字符串数组,该数组设置为在用户完成操作时进行多项选择,并检查“完成”。我想使用意图创建一个新的活动 String[] names = new String[] {"Ham","Cheese","Lettuce", "Bacon", "Done"}; setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_it

我在ListView中有一个字符串数组,该数组设置为在用户完成操作时进行多项选择,并检查“完成”。我想使用意图创建一个新的活动

String[] names = new String[] {"Ham","Cheese","Lettuce", "Bacon", "Done"};
    setListAdapter(new ArrayAdapter<String>(this,
                        android.R.layout.simple_list_item_multiple_choice,
                    android.R.id.text1, names));
    ListView listView = getListView();
    listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
比如

ArrayList extra_array=new ArrayList();
用于(长i:mContactList.getCheckedItemIds()){
Log.v(标记“getCheckItemId():id=“+i”);
额外的数组。添加((int)i);
}
该数组包含选定项的索引。您可以将这些项目放入字符串数组中,并将其作为意图传递给下一个活动


更多说明:
getCheckedItemIds()
返回一个数组
long[]
,其中包含选中项的位置(编号)。您应该在数组中循环并使用索引从
名称

//new listview和所选元素中选择选中的项ArrayList selectedChildren=new ArrayList();//为下一个类创建意图Intent formed=newintent(this,FormedList.class);对于(long i:listView.getCheckItemId()){selectedChildren.add((int)i,null);Log.v(TAG,“getCheckItemId():id=“+i”);if(selectedChildren.equals(“Done”))startActivity(formed);}
@Reno我不确定这是否正确,但我会继续你提到的内容。我没有收到任何错误,但当我点击“完成”选项时,新活动不会启动。
Intent e = new Intent(getApplicationContext(), FormedList.class);
      if(listView.getCheckItemIds().toString().equals("Ham"))
          e.putExtra("Meat", selectedChildren);
      if(listView.getCheckItemIds().toString().equals("Cheese"))
          e.putExtra("Dairy", selectedChildren);
      if(listView.getCheckItemIds().toString().equals("Bacon"))
          e.putExtra("Swine", selectedChildren);
      if(listView.getCheckItemIds().toString().equals("Done"))
           startActivity(e);
 ArrayList<Integer> extra_array = new ArrayList<Integer>();
     for (long i : mContactList.getCheckedItemIds()) {

    Log.v(TAG, "getCheckItemIds(): id = " + i);
    extra_array.add((int) i);
  }