/var/log/messages

debugging with sixth sense

DialogPreference なクラス作成の巻

とりあえずクラスの名前を決めて DialogPreference を継承する形で新規作成。その後

  • レイアウトな xml を新規作成 (あるいはコピィ)
  • Contect と AttributeSet なオブジェクトを引数に取るコンストラクタ追加

    • 引数な Context なオブジェクトは念のため属性作って保管
    • setDialogLayoutResource メソドをレイアウトな id を引数に呼び出し
  • onPrepareDialogBuilder メソドを override

    • (必要なら) 引数で渡される Builder オブジェクトの setCancelable 呼び出し
  • onBindDialogView メソドを override

    • view の準備な記述を追加
  • onDialogClosed メソドを override

    • OK または cancel なボタンの押下が引数で分かるのでそれに応じてよしなに処理を記述

ひとつ目が UI 云々なあたりまで作りこめたのでもう一つに着手。

spinner

備忘録。今は res/values/string.xml で以下な定義をでっちあげておいて

<string-array name="hoge_array">
    <item>hoge1</item>
    <item>hoge2</item>
    <item>hoge3</item>
</string-array>

レイアウトで以下にしときゃ大丈夫なのか。

    <Spinner android:id="@+id/spinner"
        android:entries="@array/point_array"
        android:layout_width="250dp"    
        android:layout_height="wrap_content" />

選択してる位置を取得するには

  • getSelectedItemPosition

あるいは初期表示のためのメソドとして引数 int で位置指定な

  • setSelection

というものがあるとのこと。このあたりの準備とか始末を onBindDialogView とか onDialogClosed あたりで云々、なんスね。

Comments