2

AndroidAnnotations @SharedPref で使用したい PreferenceActivity があるので、PreferenceActivity は @SharedPref のデータを使用します。

これを行う良い方法はありますか?他の場所で作成した @SharedPref を使用するようアクティビティに指示するにはどうすればよいですか? 各設定の値を設定せずにこれを行う良い方法はありますか?

現在使用しているアクティビティコードは次のとおりです。

public class SettingsActivity extends PreferenceActivity {

    @SuppressWarnings("deprecation")
    @Override
    public void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        addPreferencesFromResource(R.xml.preferences);
    }  
}
4

1 に答える 1

3

PreferenceActivityActivityであるため、 @EActivity でアノテーションを付けるだけで、@SharedPrefなどのアノテーションの使用を開始できます。

アクティビティ間で設定を共有したい場合、AndroidAnnotations には、ここで定義されているスコープの概念があります。

Scope.UNIQUEスコープを使用して、すべてのアクティビティ間で共有する必要があります。

SharedPref は、SharedPreferences にデータを簡単に格納する方法と考えられていました。必ずしもPreferenceActivityと共に使用する必要はありません。

getSharedPreferences()を使用して共有設定インスタンスにアクセスできますが、それを使用してアクティビティで使用する設定を定義することはできません。そのため、主に適切な Android API を使用することが重要です。

@EActivity
public class SettingsActivity extends PreferenceActivity {

    @Pref
    MyPrefs_ myPrefs;

    @Override
    public void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        getPreferenceManager().setSharedPreferencesName("MyPrefs");
        addPreferencesFromResource(R.xml.preferences);
    }

}
于 2012-06-12T09:05:54.870 に答える