:Tips  ListView を使おう 〜 基礎編 〜 その3

 SimpleAdapter



SimpleAdapter クラスは、 ListView に表示されるアイテム( レイアウトリソースの情報から生成された View )内の ”複数の指定された View に対してテキストや画像などをバインドする” ために用いられる Adapter です。





public class
SimpleAdapter


extends BaseAdapter
implements Filterable


java.lang.Object

android.widget.BaseAdapter

android.widget.SimpleAdapter







Class Overview



XML ファイルで定義された複数のビューに対し、データをマッピングする簡単なアダプターです。リストビューの保存データとして、 Map 要素の ArrayList を指定できます。ArrayList 内の各エントリー(Map)はリストビューの行に対応します。それらの Map には(それらに対応する)行のデータが含まれます。また、行の表示に用いられるビューを定義した XML ファイルを指定します。そして、 Map のキーから特定のビューへのマッピングも指定します。データのビューへのバインドは、2つのフェーズで行われます。もし SimpleAdapter.ViewBinder が利用可能な状態であれば、最初に setViewValue(android.view.View, Object, String) メソッドが呼び出されます。そして、そのメソッドの戻り値が true の場合は、データのバインドが行われたことを意味します。もし、戻り値が false の場合は、続いて以下のビューが順に試されていきます。

  • このビューが Checkable を実装しているクラス(例えば CheckBox クラス)の場合、望まれるバインド値は boolean です。
  • このビューが TextView の場合、望まれるバインド値は文字列です。そして setViewText(TextView, String) メソッドが呼ばれます。
  • このビューが ImageView の場合、望まれるバインド値はリソースID、または(リソースIDの)文字列表現です。そして setViewImage(ImageView, int) または setViewImage(ImageView, String) がメソッド呼ばれます。

最終的に適切なバインド候補が見つからなかった場合には IllegalStateException がスローされます。

注) 勝手にリファレンスを翻訳(意訳)してみました。英語は苦手なので適当です。間違えてる場合はごめんなさい。

続きを読む

:Tips  ListView を使おう 〜 基礎編 〜 その2

ArrayAdapter

 java.lang.Object
  ↳ android.widget.BaseAdapter
   ↳ android.widget.ArrayAdapter<T>

ArrayAdapter クラスは、 ListView に表示されるアイテム( レイアウトリソースの情報から生成された View )内の "指定された1つの TextView にテキストをセットする" 為の Adapter です(アイテム内の複数の View に対しテキストをセットするといった事は出来ません)



ArrayAdapter を用いた ListView 作成のポイント

ステップごとに作成のポイントをみていきます。

< STEP 1 > データを作成する


続きを読む

:Tips  ListView を使おう 〜 基礎編 〜 その1

 ListView と銘打ちながら、余りにも ListView とかけ離れた内容になってしまったので、前2回の表題を ListView から JSON に変更せざる得ない事態に陥りました・・・。 しかし、ここからは本題に戻り、正真正銘 ListView をテーマに書いていきたいと思います。



ListView 作成時に必ず必要となるもの

ListView を用いる上で必ず必要となるものが幾つかあります。1つ目は当然ですが「 ListView 」。2つ目は「 Adapter 」。3つ目は「 データ 」。そして、(一部例外もありますが)4つ目に「 レイアウト情報 」です。

続きを読む

:Tips  Android で JSON を使おう 〜 後編 〜



 前回に引き続き「楽天ウェブサービス」で提供されている JSON 形式データを Android で扱う方法をみていきます。

JSON 形式データをオブジェクトとして扱う



 前回までの工程で「楽天ウェブサービス」を使って HTTP サーバから JSON 形式データを受け取り、文字列として保持するというところまでを見てきました。しかし、このままでは「単なる文字列」でしかありません。 JSON 形式データをオブジェクトとして扱うには org.json パッケージの JSONObjectJSONArray クラスを使います。

続きを読む

:Tips  Android で JSON を使おう 〜 前編〜

ListView で一覧表示



 本ブログ「 :Tips TextView を使いこなそう」で TextView の表現方法をいろいろ見てきました。せっかくなので TextView を活用した「何か」を題材に記事を書きたいな、と考え行き着いたのが『 ListView を用いた(何がしかの)情報の一覧表示』というテーマ。

いや、本当は「もう少し派手なやつを」とも考えたのですが、アニメーションやら何やらとやってはみたのですが、派手さこそあれ「これ何に使うの?」という根本的な疑問は払拭できず・・・”却下”と相成りました。その点、 ListView の一覧表示というのは使い手が豊富で、利用頻度も高い優れた表現方法だと思います。特にタッチパネルのスマートフォンでは主要な操作体系の1つになっています。

続きを読む

: 雑記 「車輪の再発明」をするべきか、しないべきか・・・それが問題だ

 今回は、本当の意味での「雑記」です。技術的な情報を集めている最中、不幸にも当ブログに検索で引っかかってしまわれた方!申し訳ありません。お手数ですが「戻る」ボタンを押して再検索願います。

車輪の再発明

車輪の再発明(再発見)」一部界隈ではよく耳にされる言葉でしょう。基本的には忌み嫌われる類の言葉です。物知らぬ者を嘲笑う、といった意味でも使われますし、何がしかの理由で今在るものを使うことが許されず、ゼロから作り直さねばならぬ己の境遇を嘆く意味でも使われます。また、よい意味でとれば、何かを作る必要に迫られた場合、一度立ち止まり「これは車輪の再発明ではないのか?」と自らに問う有難いお言葉、とも言えるかもしれません。

続きを読む

:Tips  TextView を使いこなそう 〜 表示編 〜  その5

様々な SPAN を用い TextView に「より多彩」な表現を 〜後編〜

 「 TextView を使いこなそう 〜 表示編 〜」 その4 に引き続き TextView の5回目です。



今回は・・・

 前回は SPAN を用いた文字のサイズ変更(相対値、絶対値)やテキストの水平位置(右寄せ、中央寄せ、左寄せ)の変更について見てきました。今回は、前回やり残した3つの SPAN クラスについて書いていこうと思います。

続きを読む