我正在尝试使用多个选择制作联系人选择器。我能够加载所有联系人旁边的复选框。但是,当我选择一个项目时,我的列表中会自动选择每个第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());
}
}
答案 0 :(得分:2)
这是因为ListView
中的视图回收机制。请尝试在onCreate()
中添加以下内容。
getListView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);