在android我使用多选列表进行联系人选择如何在一个按钮点击选择所有联系人

时间:2013-02-14 16:08:33

标签: android list android-listview multiple-choice

您正在使用多选列表 任何人都可以告诉我应该如何选择全部 任何按钮点击事件的项目 或如何取消选择按钮点击事件

上的所有项目

我的代码在这里

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.contact_list);

    findViewsById();
    PhoneContacts pc = new PhoneContacts(ContactList.this);
    pc.readContacts();

    for (int i = 0; i < pc.allPhoneNumbers.size(); i++) {

        _allNumberAndNameMergeList.add(pc.allContactName.get(i) + "\n"
                + pc.allPhoneNumbers.get(i));
    }
    adapter = new ArrayAdapter<String>(this,
            android.R.layout.simple_list_item_multiple_choice,
            _allNumberAndNameMergeList);
    listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
    listView.setAdapter(adapter);

    button.setOnClickListener(this);
}

private void findViewsById() {
    listView = (ListView) findViewById(R.id.list);
    button = (Button) findViewById(R.id.testbutton);
}

public void onClick(View v) {
    SparseBooleanArray checked = listView.getCheckedItemPositions();
    ArrayList<String> selectedItems = new ArrayList<String>();
    for (int i = 0; i < checked.size(); i++) {
        // Item position in adapter
        int position = checked.keyAt(i);
        // Add sport if it is checked i.e.) == TRUE!
        if (checked.valueAt(i))
            selectedItems.add(adapter.getItem(position));
    }

    String[] outputStrArr = new String[selectedItems.size()];

    for (int i = 0; i < selectedItems.size(); i++) {
        outputStrArr[i] = selectedItems.get(i);
    }


}

}

您正在使用多选列表 任何人都可以告诉我应该如何选择全部 任何按钮点击事件的项目 或如何取消选择按钮点击事件

上的所有项目

1 个答案:

答案 0 :(得分:0)

我会创建自定义适配器来扩展ArrayAdapter和ListView项目,该项目将包含例如复选框。比内部适配器类getView()方法处理选定的项目位置以获取当前位置上的对象,您可以执行任何您想要的操作。您可以查看本教程 - 12.在ListView中选择多个项目

http://www.vogella.com/articles/AndroidListView/article.html