5

basittir.OpenTouchListener() bir ListPreference üzerinde nasıl ayarlanır? Her görünüm sadece bunu yapmak için setOnTouchListener() yöntemini olduğu gibi bir görünümde onTouchEvent Handling

Maalesef, ListPreference bir görünümdür, ancak bir düzen XML'sinde tanımlanmamıştır ve bu nedenle findViewById() aracılığıyla erişilemez. Yani ... Ben onun içinOnTouchListener() set nasıl anlamaya çalışmıyor. Benim fikrim

sonra) PreferenceActivity en onCreate (kendisine bir başvuru almak için getDialog idi(). getCurrentFocus() fakat o belirli zamanda, odak noktası yoktur ve bir diyalog bile yoktur (getDialog(), null değerini döndürür).

Bu sorunu gidermek için nasıl bir fikrin var?

cevap

0
paylaşılan tercihleri ​​için

kullanın registerOnSharedPreferenceChangeListener(OnSharedPreferenceChangeListener listener), tüm tercihleri ​​ilginizi çekiyorsa veya sadece tek bir öğe üzerinde değişiklikler bilmek istiyorsanız .setOnPreferenceChangeListener(listener). Tercih değiştiğinde size bildirilecektir.

+0

Bunun için beni kesmek olmaz korkuyorum. Sadece bir tercihin ne zaman değiştiğini bilmekle ilgilenmiyorum (zaten BTW'yi uyguluyorum). Gerçekten istediğim, bir ListPreference'a [bir GestureDetector] (http://stackoverflow.com/q/17181083/1088880) eklemektir. Bunu yapmanın bir yolu var mı? Teşekkürler. – scatmoi

+1

tercih görünümünde 'findViewById (android.R.id.list)' gibi bir şey yapmaya çalıştınız mı? – bogdan

+1

Maalesef bunu yapamam çünkü ListPreference bir görünüm değil. * Bir XML'de tanımlanmıştır, ancak bir düzen XML değildir. Şansım bitti mi? – scatmoi

İlgili konular