設定画面でボタンを作成する方法 | Androidアプリ開発

※当サイトはアフィリエイト広告を利用しています。

Androidの設定画面(PreferenceFragmentCompat)でボタン(タップ/クリックしたときに何かさせる)を作成する方法を紹介します。
スポンサーリンク


動作例

下図のようにタップしたときに何か動作させることができます。下図の例では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;
});
}
}
}
}

まとめ

Androidの設定画面(PreferenceFragmentCompat)でボタンを作成する方法を紹介しました。