私が公開しているアプリ Nメモ ではPreferenceFragmentで設定画面を作っています。
本来ならばタイトルやsummaryで設定内容が分かるようにするのが良いのでしょうが、
あまり長い説明を入れると設定画面でたくさんスクロールが必要になってしまい不便だと思ったので、今回はロングクリックでダイアログに説明を出すようにしました。
// PreferenceFragmentを継承したクラス内
override fun onViewCreated(view: View?, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
val preferenceList = view?.findViewById(android.R.id.list) ?: return
preferenceList.setOnItemLongClickListener { _, _, position, _ ->
val listAdapter = preferenceList.adapter
val item = listAdapter.getItem(position)
if (item is Preference) {
when(item.key) {
// ここにPreferenceのKey毎に処理を書く
}
true
} else {
false
}
}
}