スポンサーサイト


    上記の広告は1ヶ月以上更新のないブログに表示されています。
    新しい記事を書く事で広告が消せます。





    Androidのスピナーで値を保持する(SpinnerActivity)



    ■Androidのスピナーで値を保持する(SpinnerActivity)

    若干分かりにくいタイトルだが、やりたいことは↓

    1.スピナーで値選択
    2.アプリ終了
    3.アプリ再起動、1.で選択した値にスピナーが設定済み
    ということだ。

    「Preferenceで出来るんじゃねーの!?」
    と想像したあなた。正解。でも、どうやっていいのか1ミリも想像できなかった僕は
    Google先生に教えを請うことにした。探したら結構参考サイトが出てこなかった。

    参考サイト
    http://developer.android.com/intl/ja/resources/samples/Spinner/src/com/android/example/spinner/SpinnerActivity.html

    そのまんまで申し訳ないが、このSpinnerActivityを使えば出来る。
    今回は全部は必要なかったので、部分的に移植した。

    作ってみたコード↓

    書き出したら想像以上にめんどくさかったので、2つのスピナーを利用するケースにしました。
    処理の流れは、

    0.Spinnerの記憶があれば読み込み。readInstanceState()
    1.各種Spinnerの処理
    2.SharedPreferencesに記憶。writeInstanceState(Context c)
    3.onResume()時にSpinnerの復帰処理。

    本家と違うところは、複数のspinnerを想定してるので、readInstanceState()とか
    getSpinnerPosition()でSpinnerの番号を渡しています。POSITION_KEYを上手く使えば
    必要ないのかもしれないけど、見た目分かりやすかったのでこうしました。

    正直言って、普通のPreferenceActivityで出来るならそっちでやった方が楽なので
    そっち推奨。まぁ、今回やりかた分かったからOKだけど。

    関連記事
    スポンサーサイト





    コメントの投稿

    非公開コメント

    カテゴリ
    検索フォーム
    メールフォーム

    名前:
    メール:
    件名:
    本文:

    お世話になっている書籍達




















    リンク



    最新記事
    月別アーカイブ
    最新コメント
    プロフィール

    yukinori110

    Author:yukinori110
    Androidってなに?Javaってなに?というレベルから勉強してます。

    上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。