libro
www.tuyano.com
Google androidプログラミング入門

設定画面を作る (4/6)

作成:2010-11-06 15:35
更新:2010-11-06 15:36

■PreferenceActivityクラスの作成

では、PreferenceActivityのクラスを作成しましょう。jp.tuyano.sampleパッケージに、新たに「MySamplePrefActivity.java」というソースコードファイルを作成し、下のリストのように記述をします。

このクラスは、PreferenceActivityを継承して作成されます。ここでは、以下のようにして設定画面用のレイアウトを読み込んで表示しています。
addPreferencesFromResource(R.xml.pref);
通常のActivityクラスでは、setContentViewで表示を設定していましたが、PreferenceActivityではこれは使いません。addPreferencesFromResourceで設定項目を追加する処理を行ないます。これにより、pref.xmlの内容が読み込まれ、設定項目として追加されます。

この他、「onSaveInstanceState」というメソッドもオーバーライドしてあります。これは、設定が変更されたときに呼び出されるメソッドです。今回は特に処理は用意していませんが、設定を行う際に何らかの処理をしたい場合には、このメソッドを利用するのが良いでしょう。

これで、設定画面は完成です。実際にアプリを実行し、「Pref」メニューを選んでみましょう。「My Name」「My List」といった項目を持った画面が現れます。これらをタッチすると、それぞれテキストの入力やリストの選択を行うダイアログが現れ、設定を行うことができます。

設定を行ったら、一度アプリを終了してから、再度起動して設定画面を呼び出してみてください。値をタッチして編集ダイアログを呼び出すと、前回の値がダイアログに現れることがわかるでしょう。設定した内容がアプリ終了後も保存されていることが、これで確認できます。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

package jp.tuyano.sample;

import android.content.*;
import android.os.Bundle;
import android.preference.*;
import android.preference.Preference.OnPreferenceChangeListener;

public class MySamplePrefActivity extends PreferenceActivity {
	
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		addPreferencesFromResource(R.xml.pref);
	}

	@Override
	protected void onSaveInstanceState(Bundle outState) {
		// 保存時の処理
		super.onSaveInstanceState(outState);
	}


}

※関連コンテンツ

「Google androidプログラミング入門」に戻る