lostyazilim
tr.link

Android JAVA Checkbox Sorunu

10 Mesajlar 1.197 Okunma
lstbozum
tr.link

TheMucit TheMucit UgurKilci.com Kullanıcı
  • Üyelik 15.02.2017
  • Yaş/Cinsiyet 27 / E
  • Meslek Girişimci ve İçerik Üreticisi
  • Konum Aydın
  • Ad Soyad U** K**
  • Mesajlar 540
  • Beğeniler 109 / 118
  • Ticaret 0, (%0)
Android uygulama yazıyorum ve MainActivity de 100 tane checkbox var. Ve ben sadece en az 1 ve en fazla 10 tanesini seçtikten sonra "devam" isimli tuşun aktifleşmesini sağlamak istiyorum.

Kendim denedim ama beceremedim. Tek tek checkboxları tanımlamak hamballık olur diye düşünüyorum. Pratik bir şekilde çözümü var mıdır? Nasıldır? Kodlarıyla ve anlatarak gösterirseniz sevinirim. :)
 

 

Baştan Sona PHP Eğitimi ➡ youtu.be/TQP8jBwnXw4
wmaraci
reklam

AhmetKarabulut AhmetKarabulut WM Aracı Kullanıcı
  • Üyelik 11.09.2013
  • Yaş/Cinsiyet 30 / E
  • Meslek Bilgisayar Mühendisi
  • Konum İzmir
  • Ad Soyad A** K**
  • Mesajlar 1077
  • Beğeniler 361 / 361
  • Ticaret 33, (%100)
Hocam checkboxlar için listview mi kullanıyorsunuz?
 

 

TheMucit TheMucit UgurKilci.com Kullanıcı
  • Üyelik 15.02.2017
  • Yaş/Cinsiyet 27 / E
  • Meslek Girişimci ve İçerik Üreticisi
  • Konum Aydın
  • Ad Soyad U** K**
  • Mesajlar 540
  • Beğeniler 109 / 118
  • Ticaret 0, (%0)

AhmetKarabulut adlı üyeden alıntı

Hocam checkboxlar için listview mi kullanıyorsunuz?

Android konusunda çok cahilim. 10 günlük bir bilgim var. 12 ayda 12 startup diye bir meydan okumaya girdim. Her ay bir startup çıkartmaya çalışıyorum. Hiç bilmediğim alanlarda bunu yapmayı deniyorum. Androidi çok az biliyorum. 10 günlük bilgi ama php temelim var. Yazılım mantığına hakimim.

Şu an listviewi bilmiyorum mesela. Ben checkboxları linearlayout ile sıraladım. Şöyle diyemiyor muyuz?

"LinearLayout altındaki tüm checkboxlardan en az biri veya en fazla biri seçildiyse"

Tek checkboxı yapabiliyorum ama projede 100+ fazla var. Pratik bir şekilde çözülmeli.
 

 

Baştan Sona PHP Eğitimi ➡ youtu.be/TQP8jBwnXw4

AhmetKarabulut AhmetKarabulut WM Aracı Kullanıcı
  • Üyelik 11.09.2013
  • Yaş/Cinsiyet 30 / E
  • Meslek Bilgisayar Mühendisi
  • Konum İzmir
  • Ad Soyad A** K**
  • Mesajlar 1077
  • Beğeniler 361 / 361
  • Ticaret 33, (%100)
Hocam aslında listview ile bu işi yapsanız işiniz çok daha kolaylaşır.

Sizin sorunuza gelince;


LinearLayout linearLayout= (LinearLayout) view.findViewById(R.id.linearLayout); //layout idniz
int count = linearLayout.getChildCount();
int checkCount = 0;
for (int i = 0; i < count; i++) {
View v = linearLayout.getChildAt(i);
if (v instanceof CheckBox && ((CheckBox) v)..isChecked()) {
checkCount++;
}
if(checkCount > 10) //bu kontrolü 10'un üzerine çıktığında boş yere
break; //for'un dönmesine neden olmaması için yapıyoruz
}

if(checkCount == 0)
//hiç checkbox seçili değil
else if(checkCount>10)
//10'dan fazla seçili


//(hata vermeyecekseniz sadece butonu enable disable
//yapacaksanız üstteki 2 if yerine alttaki iş görür)
if(checkCount >= 1 && checkCount <= 10)
//buton.enabled = true
else
//buton.enabled = false

 

 

wmaraci
wmaraci

TheMucit TheMucit UgurKilci.com Kullanıcı
  • Üyelik 15.02.2017
  • Yaş/Cinsiyet 27 / E
  • Meslek Girişimci ve İçerik Üreticisi
  • Konum Aydın
  • Ad Soyad U** K**
  • Mesajlar 540
  • Beğeniler 109 / 118
  • Ticaret 0, (%0)

AhmetKarabulut adlı üyeden alıntı

Hocam aslında listview ile bu işi yapsanız işiniz çok daha kolaylaşır.

Sizin sorunuza gelince;


LinearLayout linearLayout= (LinearLayout) view.findViewById(R.id.linearLayout); //layout idniz
int count = linearLayout.getChildCount();
int checkCount = 0;
for (int i = 0; i < count; i++) {
View v = linearLayout.getChildAt(i);
if (v instanceof CheckBox && ((CheckBox) v)..isChecked()) {
checkCount++;
}
if(checkCount > 10) //bu kontrolü 10'un üzerine çıktığında boş yere
break; //for'un dönmesine neden olmaması için yapıyoruz
}

if(checkCount == 0)
//hiç checkbox seçili değil
else if(checkCount>10)
//10'dan fazla seçili


//(hata vermeyecekseniz sadece butonu enable disable
//yapacaksanız üstteki 2 if yerine alttaki iş görür)
if(checkCount >= 1 && checkCount <= 10)
//buton.enabled = true
else
//buton.enabled = false



Bu dilde çok yeni olduğum için yapamadım. :s Bunu public class MainActivity extends AppCompatActivity { içinde denedim olmadı.

Senin yazdığın
btn.enabled = true
kodunu çalıştıramadım ben de
btn.setEnabled(true);
olarak değiştirdim.

Ayriyeten şu kodu bir türlü anlayamıyor.
LinearLayout linearLayout= (LinearLayout) view.findViewById(R.id.linearLayout); //layout idniz
Bu koddaki "view"i anlayamıyor.

Viewsiz deneyincede hep disable kalıyor.
Son olarak btn. dediğim buton bu biraz komik oldu :)
Button btn = findViewById(R.id.button2);
 

 

Baştan Sona PHP Eğitimi ➡ youtu.be/TQP8jBwnXw4

AhmetKarabulut AhmetKarabulut WM Aracı Kullanıcı
  • Üyelik 11.09.2013
  • Yaş/Cinsiyet 30 / E
  • Meslek Bilgisayar Mühendisi
  • Konum İzmir
  • Ad Soyad A** K**
  • Mesajlar 1077
  • Beğeniler 361 / 361
  • Ticaret 33, (%100)
Hocam ben birebir kodu vermemiştim. Psedo olarak yazdım telefondan o yüzden çalışmaması normal. btn.setEnabled(true); doğrusu. hata olan kısım nedir tam anlayamadım ama?
 

 

TheMucit TheMucit UgurKilci.com Kullanıcı
  • Üyelik 15.02.2017
  • Yaş/Cinsiyet 27 / E
  • Meslek Girişimci ve İçerik Üreticisi
  • Konum Aydın
  • Ad Soyad U** K**
  • Mesajlar 540
  • Beğeniler 109 / 118
  • Ticaret 0, (%0)
AhmetKarabulut

http://prntscr.com/qrzwvb
 

 

Baştan Sona PHP Eğitimi ➡ youtu.be/TQP8jBwnXw4

AhmetKarabulut AhmetKarabulut WM Aracı Kullanıcı
  • Üyelik 11.09.2013
  • Yaş/Cinsiyet 30 / E
  • Meslek Bilgisayar Mühendisi
  • Konum İzmir
  • Ad Soyad A** K**
  • Mesajlar 1077
  • Beğeniler 361 / 361
  • Ticaret 33, (%100)
view'ı silebilirsiniz hocam.

Ama bu kodları oncreate e koyarsanız on create(yaratma) aşamasında çalışacağı için kod hiç bir checkbox seçili olmayacaktır. checkboxların checked change eventine koymalısınız. ayrı ayrı eventleri varsa bir method çağırabilirsiniz, tüm bunlar dışında kolay yoldan çözeyim derseniz global bir değişken tutup tiklenen checkboxların changed eventinde değişkeni arttırıp azaltabilirsiniz de :)
 

 

TheMucit TheMucit UgurKilci.com Kullanıcı
  • Üyelik 15.02.2017
  • Yaş/Cinsiyet 27 / E
  • Meslek Girişimci ve İçerik Üreticisi
  • Konum Aydın
  • Ad Soyad U** K**
  • Mesajlar 540
  • Beğeniler 109 / 118
  • Ticaret 0, (%0)

AhmetKarabulut adlı üyeden alıntı

view'ı silebilirsiniz hocam.

Ama bu kodları oncreate e koyarsanız on create(yaratma) aşamasında çalışacağı için kod hiç bir checkbox seçili olmayacaktır. checkboxların checked change eventine koymalısınız. ayrı ayrı eventleri varsa bir method çağırabilirsiniz, tüm bunlar dışında kolay yoldan çözeyim derseniz global bir değişken tutup tiklenen checkboxların changed eventinde değişkeni arttırıp azaltabilirsiniz de :)


İstediğim kodu sonunda senin yardımınla yazdım. Teşekkürler, bu arada youtube.com/ugurkilci adresinde bu aşamaların vloglarını yayınlayacağım. Eğer izin verirsen senden de bahsetmek istiyorum. Gelişmeleri de instagram.com/12ayda12startup ta paylaşıyorum :)
 

 

Baştan Sona PHP Eğitimi ➡ youtu.be/TQP8jBwnXw4

AhmetKarabulut AhmetKarabulut WM Aracı Kullanıcı
  • Üyelik 11.09.2013
  • Yaş/Cinsiyet 30 / E
  • Meslek Bilgisayar Mühendisi
  • Konum İzmir
  • Ad Soyad A** K**
  • Mesajlar 1077
  • Beğeniler 361 / 361
  • Ticaret 33, (%100)
Rica ederim hocam ne demek faydam olduysa ne mutlu :) tabii ki bahsedebilirsiniz başarılar dilerim :)
TheMucit

kişi bu mesajı beğendi.

wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al