*

【android】設定画面の作成

公開日: : 最終更新日:2012/04/30 android

res/xml/preferences.xml

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen
  xmlns:android="http://schemas.android.com/apk/res/android">
    <PreferenceCategory>

        <!-- チェックボックス -->
        <CheckBoxPreference
        	android:key="@string/prefkey_dispOnStatusBar"
        	android:title="@string/pref_boot_statusbar_title"
        	android:summary="@string/pref_boot_statusbar_summary"
        	android:defaultValue="true"
        	 />

        <!-- リスト -->
        <ListPreference
            android:key="@string/prefkey_searchbarPosition"
        	android:title="@string/pref_searchbar_position_title"
        	android:summary="@string/pref_searchbar_position_summary"
            android:dialogTitle="@string/pref_searchbar_position_title"
            android:entries="@array/pref_searchbar_position_entries"
            android:entryValues="@array/pref_searchbar_position_values"
        	android:defaultValue="1"
             />
    </PreferenceCategory>
    
</PreferenceScreen>

PreferenceActivity.java

public class MyPreferenceActivity extends PreferenceActivity{
	SharedPreferences sp;

	@Override
	public void onCreate(Bundle savedInstanceState){
		super.onCreate(savedInstanceState);
		this.addPreferencesFromResource(R.xml.preferences);
		
		sp = PreferenceManager.getDefaultSharedPreferences(this);
		
		initList( R.string.prefkey_searchbarPosition );
	}

	//リストの値をサマリーに表示する
	private void initList(int resourceIdOfpreferenceKey){
		final ListPreference list = (ListPreference)findPreference(
				getResources().getString(resourceIdOfpreferenceKey)
				);
		
		//保存済みの設定をサマリーに表示
		list.setSummary(list.getValue());

		//設定が変更された値をサマリーに表示する
		list.setOnPreferenceChangeListener(new OnPreferenceChangeListener(){
			public boolean onPreferenceChange(Preference preference, Object newValue) {
				
				list.setSummary( String.valueOf(newValue) );
				return false;
			}
		});

	}

	@Override
	public void onPause(){
		super.onPause();
		//設定を反映
		}
	}
}// end of class

関連記事

no image

【android】 APIバージョンによる動作の違い

「最近使用したアプリケーション」からの起動 2.x系 -> onNewIntentが呼ばれる 4

記事を読む

no image

【android】任意のスレッドで処理を行う

非UIスレッドでUIを操作したい場合に、任意の処理をUIスレッド上で実行する。 目次

記事を読む

no image

[android] モンキーテスト(Monkey Test)を実行する

最近テストの効率化に目覚めました。 モンキーテストは猿にアプリを渡してみてめちゃくちゃな操作をさせ

記事を読む

no image

【android】標準の設定画面を作る

設定画面のテンプレートです。 検索一発クンのコードから抜粋しました。 チェックボックス、リス

記事を読む

no image

【android】ネットワークの接続状況を確認する

コードから接続状況を確認。 ConnectivityManager co

記事を読む

no image

【android】処理時間を計測する

パフォーマンスのリファクタリングを行うには処理時間の計測がかかせません。 SDK標準のクラスを使っ

記事を読む

no image

【andoid】ViewPagerを使う

1. layout.xmlにViewPagerを配置  2. PagerAdapter.jav

記事を読む

no image

【android】stringsリソースにパラメータを埋め込む

●strings.xml %n$x n : 引数に渡す際の順番。n番目の引数。 x

記事を読む

no image

インテント

基本 //任意のアクティビティの起動 Intent intent = new

記事を読む

no image

【android】サービスの実装

ダウンロードなどActivityに依存したくない大きなバックグラウンド処理や常駐プロセスを作りたい場

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

no image
知らないと損をする6つのライセンスまとめ

オープンソースやフリーウェア、フリー素材などが巷に溢れ、それらを利用す

no image
ガリレオ:ニュースブラウザをリリースしました。

概要 ガリレオはニュースを読んだり、検索する機能に特化したブラウザア

no image
【android】Activityとプロセスのライフサイクル

またもやライフサイクル周りでハマったのですが、Androidのライフサ

→もっと見る

PAGE TOP ↑