動作例
下図のようにタップしたときに何か動作させることができます。下図の例ではToastを表示しています。実装方法
findPreferenceメソッドで該当のPreferenceオブジェクトを取得し、それに対してclickイベントを設定すればOKです。以下がサンプルコードです。
public class SettingsActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.settings_activity);
if (savedInstanceState == null) {
getSupportFragmentManager()
.beginTransaction()
.replace(R.id.settings, new SettingsFragment())
.commit();
}
ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
actionBar.setDisplayHomeAsUpEnabled(true);
}
}
public static class SettingsFragment extends PreferenceFragmentCompat {
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
setPreferencesFromResource(R.xml.root_preferences, rootKey);
Preference pButton = findPreference("Pref_Button");
if(pButton != null) {
pButton.setOnPreferenceClickListener(preference -> {
Toast.makeText(getContext(), "Button is tapped.", Toast.LENGTH_SHORT).show();
return true;
});
}
}
}
}