SharedPreferences Checkbox Tıklama Ve Button Gizleme

Merhaba arkadaşlar;

Benim A ve B adında iki adet Activity var. A'da bir tane Checkbox var, B'de ise bir tane Button var. Ben A'daki Chechkbox'u tıkladığımda B'deki Button un görünmez olmasını istiyorum. Tiki kaldırınca ise görününür hale gelmesini istiyorum. Ve en önemlisi bunu sharedpreferences ile kaydetmek istiyorum. Yani programdan çıkıp tekrar girdiğimde en son yaptığım işlemin karşıma çıkmasını istiyorum. Bana yardımcı olur musunuz? Şimdiden teşekkürler.

    0

    Furkan Kayalı

    27 Temmuz 2019

    Merhaba, Bu işlem için yapman gereken boolean bir değeri kaydedip tekrar okumak olacaktır. Aşağıdaki 3 adımı izleyerek SharedPreferences'a yazma ve okuma işlemi yapabilirsin. Adım 1: Nesne Oluşturma (Bu adım 2 activity içinde yapılmalı) SharedPreferences sp = context.getSharedPreferences("isim", MODE_PRIVATE); "isim" alanına istediğin bir değer girebilirsin ama tavsiyem uygulamanın ismi olacaktır. Adım 2: SharedPreferences'a yazma ( Checkbox'u dinleyerek durumu değiştiğinde bu kodu çalıştırman gerekecek); sp.edit().putBoolean("isChecked",true).apply(); metodun 2. parametresine yani true alanına checkboxun durumunu vermelisin. Adım 3: SharedPreferences'tan okuma (burdan gelen duruma göre butonunu visible/invisible yapmalısın) sp.getBoolean("isChecked",false); metodun 2. parametresi default değerdir eğer "isChecked" isimli bir kayıt bulunamaz ise false dönecektir.   Bu adımları izleyerek uygulaman kapansa bile tekrar açıldığında butonunun görünürlüğünü istediğin şekilde ayarlayabilirsin. Umarım yardımcı olmuştur.

      fatihdemir21

      Cmt, 27/07/2019 - 22:24
      Teşekkürler kardeşim...

    0

    Mehmet KARACAN

    Sisoft Sağlık Bilgi Sistemleri Ltd. Şti. - 20 Temmuz 2019

    Merhabalar, Öncelikle algoritma mantığı aynıdır. Bu yüzden C# kodu ile yazıyorum, onu istediğin bir dile çevirebilirsin.  if (checkBox1.checked == true) //eğer checkBox1 seçili ise { button1.Visible = false; //button1'i gizle } else //değilse { button1.Visible = true; //button1'i görünür yap } Bu şekilde checkBox'un seçili ise button1'in gizlenir, seçili değilse görünür olur. Eğer kullanıcının son yaptığı işlemi göstermek istiyorsan veritabanında bir tablo oluştur ve bu işlemleri alanlarda sakla. Yani, USERSET tablosu olsun ve burada kullanıcının bulunduğu bir US_KEY olsun bir de BUTTONSEC alanın olsun. Button'u gizlediğin zaman hemen git ve BUTTONSEC alanını E yap. Daha sonra kullanıcı giriş yaptığında USERSET.BUTTONSEC = 'E' ise button1'i gizle.

    Bu soruya cevap vermek için üye olmanız veya giriş yapmanız gerekmektedir.