在多选列表视图中选择一个项目可选择多个项目

时间:2012-12-06 19:24:58

标签: android android-contacts listactivity

我正在尝试使用多个选择制作联系人选择器。我能够加载所有联系人旁边的复选框。但是,当我选择一个项目时,我的列表中会自动选择每个第8个项目。而且,当我向上和向下滚动时,所有选择都会自行更改。

有人知道这有什么问题吗?这是我的联系选择器类

public class HomeActivity extends ListActivity {

    public void onCreate(Bundle paramBundle) {
        super.onCreate(paramBundle);

        Cursor cursor = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI,null, null, null, null); 
        SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, 
                android.R.layout.simple_list_item_multiple_choice, 
                cursor, 
                new String[] {ContactsContract.Contacts.DISPLAY_NAME}, 
                new int[] { android.R.id.text1},0);

        setListAdapter(adapter);    
    }

    @Override
    protected void onListItemClick(ListView l, View v, int position, long id) {        
        CheckedTextView textView = (CheckedTextView)v;
        textView.setChecked(!textView.isChecked());
    }   
}

1 个答案:

答案 0 :(得分:2)

这是因为ListView中的视图回收机制。请尝试在onCreate()中添加以下内容。

getListView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);