設定画面のタイトルの文字列を動的に変更する方法 | Androidアプリ開発

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

Androidの設定画面(PreferenceFragmentCompat)でタイトルの文字列を動的に変更する方法を紹介します。
スポンサーリンク


=== 目次 ===

実装方法

findPreferenceメソッドで該当のPreferenceオブジェクトを取得し、それに対してsetTitleメソッドを使用して変更します。

以下がサンプルコードです(バージョンネームを表示しています)。
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 p = findPreference("Pref_Test");
            if(p != null) {
                p.setTitle(BuildConfig.VERSION_NAME);
            }
        }
    }
}

まとめ

Androidの設定画面(PreferenceFragmentCompat)でタイトルの文字列を動的に変更する方法を紹介しました。