Di preferensi.xml saya, saya memiliki elemen preferensi seperti ini:
<Preference android:title="About" />
Saya ingin menetapkan onClick
acara, jadi jika pengguna akan mengkliknya, saya akan dapat membuka Intent
browser atau baru . Saya mencoba melakukannya seperti yang saya lakukan dengan tombol, tetapi ini sepertinya tidak berhasil.
java
android
android-preferences
Badr Hari
sumber
sumber
onPostCreate
tidak akan berfungsi karena terlalu dini (Nullpointer-Exception). Bantuan apa pun dihargaifindPreference
sudah ditinggalkan.PreferenceActivity.findPreference
sudah ditinggalkan. Namun dokumentasinya mengatakan "[T] fungsinya sekarang harus ditemukan di kelas PreferenceFragment baru. Jika Anda menggunakan PreferenceActivity dalam mode lamanya, dokumentasi di sana berlaku untuk API yang tidak digunakan lagi di sini.", DanPreferenceFragment.findPreference
tidak dihentikan (seperti API level 23, saat ini pada saat penulisan). Jadi,findPreference
itu sendiri tidak ditinggalkan; itu penggunaan langsungPreferenceActivity
yang tidak digunakan lagi. Google ingin kita pindah kePreferenceFragment
, bukan untuk meninggalkanfindPreference
.onPreferenceClick
, kembalitrue
jika klik ditangani lainfalse
.meluncurkan situs web:
untuk meluncurkan aktivitas tertentu:
Anda juga dapat menggunakan "android: mimetype" untuk menyetel mimetype tersebut.
sumber
intent-filter
di manifes untukSomeActivity
, karena saya mendapatkanActivityNotFoundException
:(Anda perlu menggunakan acara onPreferenceTreeClick.
Misalnya lihat http://www.javased.com/index.php?source_dir=platform_packages_apps_phone/src/com/android/phone/MobileNetworkSettings.java
sumber
UPDATE 2018+ Hari ini,
findPreference
metode ini dikosongkan. Jadi, untuk mencapai ini, cukup gantionPreferenceTreeClick
metode di fragmen Preferensi Anda. Sebagai contoh:Selain itu, jika Anda perlu untuk menangani klik di dalam elemen preferensi tertentu (misalnya
ListPreference
), Anda harus mendaftarkansetOnPreferenceChangeListener
dalamonCreate
metode dariMySettingsFragment
:sumber
onPreferenceClick
danonPreferenceTreeClick
?Tindak lanjut atas jawaban @jason gilbert
Saya menggunakan targetSdkVersion 25 , dan jawabannya tidak berhasil, saya harus membungkus tag maksud dengan tag Preferensi. Contoh:
sumber