前回は、利用者が操作した後のentry値を取得して表示した。
今回は、アプリの起動時に、保存していた設定値を読み込んで表示することに挑戦する。
Javaファイル
始めの部分:
public class setPreferenceAct extends PreferenceActivity
implements
OnSharedPreferenceChangeListener
{
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
addPreferencesFromResource(R.layout.preference);
int iRet;
String s;
Preference p;
ListPreference l;
Resources r;
p = findPreference("JPSource");
l = (ListPreference)p;
s = l.getValue();
r = getResources();
iRet = l.findIndexOfValue(s);
if(iRet<0){
s = r.getString(R.string.Empty);
}
else{
String[] sa;
sa = r.getStringArray(R.array.JPN_Sources);
s = sa[iRet];
}
l.setSummary(s);
ListPreference系を使えば、そこからそのまま設定値を読み込めます。findIndexOfValueメソッドも用意されていて、とても便利ですね。
なお、保存した設定値は、Androidアプリの設定画面を作成するの「保存したデータの確認」に書かれています。
このファイルをEclipseのDDMSを使って削除すれば、インストール前の状態が再現されます。
0 件のコメント:
コメントを投稿