我在ListView中有一个字符串数组,设置为在用户完成时选中“Done”进行多项选择。我想使用Intent
创建一个新的ActivityString[] 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);
我在下面尝试做的是基于用户检查的信息我想将某些信息放入新的列表视图中,然后在他们点击startActivity的“完成”后向他们显示列表视图。我不确定这是否是正确的方法。
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);
答案 0 :(得分:1)
我认为这个链接非常有用,只是你想要的...... click here
答案 1 :(得分:1)
与this example一样,
ArrayList<Integer> extra_array = new ArrayList<Integer>();
for (long i : mContactList.getCheckedItemIds()) {
Log.v(TAG, "getCheckItemIds(): id = " + i);
extra_array.add((int) i);
}
数组包含所选项的索引。您可以将这些项放在String数组中,并将其作为意图传递给下一个活动。
更多解释:getCheckedItemIds()
返回一个数组long []
,其中包含已检查项目的位置(数字)。您应循环遍历数组并使用索引从names