Onay kutularıyla iletişim kurabilirim ve seçenekler seçildiğinde ve ne zaman tıklatıldığında farklı şeyler yapmaya çalışıyordum. Bazı öğreticiler okuduktan sonra ne yaptığımı bildiğimi sanıyordum, ama tamam bastığımda, kontrol edilmese bile "Her şey" tost. Öyle görünüyor ki eğer ifadeler doğru çalışmıyorsa, ama nedenini bilmiyorum.Android Checkbox İletişim Kutusu (Kolay)
Neyi yanlış yaptığım ve nasıl düzeltileceği ile ilgili herhangi bir öneri çok takdir edilecektir!
final CharSequence[] items = {"Item 1", "Item 2", "Item 3"};
final boolean[] states = {false, false, false};
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("What would you like to do?");
builder.setMultiChoiceItems(items, states, new DialogInterface.OnMultiChoiceClickListener(){
public void onClick(DialogInterface dialogInterface, int item, boolean state) {
}
});
builder.setPositiveButton("Okay", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
SparseBooleanArray CheCked = ((AlertDialog)dialog).getListView().getCheckedItemPositions();
if(CheCked.get(CheCked.keyAt(0)) == true){
Toast.makeText(Backup.this, "Item 1", Toast.LENGTH_SHORT).show();
}
if(CheCked.get(CheCked.keyAt(1)) == true){
Toast.makeText(Backup.this, "Item 2", Toast.LENGTH_SHORT).show();
}
if(CheCked.get(CheCked.keyAt(2)) == true){
Toast.makeText(Backup.this, "Item 3", Toast.LENGTH_SHORT).show();
}
}
});
builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
builder.create().show();
}
Her iki yöntemden de mükemmel teşekkürler Her iki yöntem de iyi çalışıyor – GFlam
@rekaszenu Bence bu çözüm de daha iyi. Özellikle büyük listeler için. Loop daha fazla kaynağa ihtiyaç duyar. – evilone
Geçici çözümlerden çok, api kullanarak her zaman daha iyidir, ancak çoğu durumda yalnızca belgeleri okumak sıkıcıdır; :) Bu 'CheCked' üyesi' ListView' öğeleri ve kontrol durumlarının tam bir 'Harita' olarak ele alınarak sonuçlanır. – rekaszeru