facebook twitter hatena line email

「Android/PreferenceFragmentCompat」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(参考)
行5: 行5:
  
 
==PreferenceFragmentを追加==
 
==PreferenceFragmentを追加==
 +
 +
build.gradleに以下を追加
 +
<pre>
 +
dependencies {
 +
    implementation 'com.android.support:appcompat-v7:28.0.0'
 +
    implementation 'com.android.support:preference-v7:28.0.0'
 +
}
 +
</pre>
  
 
MainActivity.java
 
MainActivity.java
行28: 行36:
 
</pre>
 
</pre>
  
build.gradleに以下を追加
+
ui/main/PrefsFragment.java
 
<pre>
 
<pre>
dependencies {
+
 
    implementation 'com.android.support:appcompat-v7:28.0.0'
+
import android.content.SharedPreferences;
    implementation 'com.android.support:preference-v7:28.0.0'
+
import android.os.Bundle;
 +
import android.preference.EditTextPreference;
 +
import android.preference.ListPreference;
 +
import android.preference.Preference;
 +
import android.support.v7.preference.PreferenceFragmentCompat;
 +
 
 +
import com.kaji.fragmentmyapplication.R;
 +
 
 +
public class PrefsFragment extends PreferenceFragmentCompat {
 +
 
 +
    private static String TAG = "NativeAdSampleActivity";
 +
    private EditTextPreference zoneIdPref;
 +
    public static String extraZoneId = "extraZoneId";
 +
 
 +
    public static PrefsFragment newInstance() {
 +
        return new PrefsFragment();
 +
    }
 +
    @Override
 +
    public void onCreatePreferences(Bundle bundle, String s) {
 +
        setPreferencesFromResource(R.xml.preferences, s);
 +
    }
 
}
 
}
 +
</pre>
 +
 +
res/layout/preferences.xml
 +
<pre>
 +
<?xml version="1.0" encoding="utf-8"?>
 +
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
 +
    <SwitchPreferenceCompat
 +
        android:defaultValue="false"
 +
        android:key="red"
 +
        android:summary="This is red."
 +
        android:title="red" />
 +
</PreferenceScreen>
 
</pre>
 
</pre>
  

2018年12月27日 (木) 13:19時点における版

Fragmentについて

Fragmentについて理解してない場合はこちら

android/Fragment [ショートカット]

PreferenceFragmentを追加

build.gradleに以下を追加

dependencies {
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support:preference-v7:28.0.0'
}

MainActivity.java

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

import com.kaji.fragmentmyapplication.ui.main.MainFragment;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main_activity);
        if (savedInstanceState == null) {
            getSupportFragmentManager().beginTransaction()
                    .replace(R.id.container, MainFragment.newInstance())
                    .commitNow();
        }
    }
}

ui/main/PrefsFragment.java


import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.EditTextPreference;
import android.preference.ListPreference;
import android.preference.Preference;
import android.support.v7.preference.PreferenceFragmentCompat;

import com.kaji.fragmentmyapplication.R;

public class PrefsFragment extends PreferenceFragmentCompat {

    private static String TAG = "NativeAdSampleActivity";
    private EditTextPreference zoneIdPref;
    public static String extraZoneId = "extraZoneId";

    public static PrefsFragment newInstance() {
        return new PrefsFragment();
    }
    @Override
    public void onCreatePreferences(Bundle bundle, String s) {
        setPreferencesFromResource(R.xml.preferences, s);
    }
}

res/layout/preferences.xml

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
    <SwitchPreferenceCompat
        android:defaultValue="false"
        android:key="red"
        android:summary="This is red."
        android:title="red" />
</PreferenceScreen>

参考

【Android】続・PreferenceFragmentCompatを使った設定画面(kotrin?) http://phicdy.hatenablog.com/entry/setting_ui_by_preference_fragment_compat

PreferenceActivity/PreferenceFragmentを使った設定画面 http://phicdy.hatenablog.com/entry/2015/09/08/%E3%80%90Android%E3%80%91PreferenceActivity/PreferenceFragment%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%9F%E8%A8%AD%E5%AE%9A%E7%94%BB%E9%9D%A2