Quelqu'un d'autre a-t-il eu un problème avec CheckedTextView montrant plusieurs éléments cochés lorsque seulement 1 est coché? Quand un élément CheckedTexView est cliqué, la réponse de OnClickListener est de vérifier les entrées avant et après l'élément cliqué.CheckedTextView Se comporter de manière erratique
Voici le code:
mFriendDoneButton = (Button) findViewById(R.id.doneAddAFriendButton);
mListView = (ListView)findViewById(R.id.contactList);
populateContactList();
mListView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
mListView.setItemsCanFocus(false);
mListView.setOnItemClickListener(
new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view,
int arg2, long arg3) {
int selectedPosition = arg2;
CheckedTextView textView = (CheckedTextView)view.findViewById(R.id.friendEntryText);
String mtext = textView.getText().toString();
Log.i("AddAFriendActivity", "Click on position "+selectedPosition);
Toast t = new Toast(AddAFriendActivity.this);
t = Toast.makeText(AddAFriendActivity.this, "Clicked on " + arg2+mtext+arg3, Toast.LENGTH_LONG);
t.show();
}
});
populateContactList private void() {// Construire un adaptateur avec des entrées de contact curseur curseur = getContacts(); Chaîne [] fields = new Chaîne [] { ContactsContract.Data.DISPLAY_NAME }; Adaptateur SimpleCursorAdapter = new SimpleCursorAdapter (this, R.layout.friend_entry, curseur, champs, nouvel int [] {R.id.friendEntryText}); MListView.setAdapter (adaptateur) ; }
private Cursor getContacts()
{
// Run query
Uri uri = ContactsContract.Contacts.CONTENT_URI;
String[] projection = new String[] {
ContactsContract.Contacts._ID,
ContactsContract.Contacts.DISPLAY_NAME
};
String selection = null;
String[] selectionArgs = null;
String sortOrder = null;
return managedQuery(uri, projection, selection, selectionArgs, sortOrder);
}
Le XML est comme suit: