Hatena::ブログ(Diary)

- Google Android -  雑記帳

2010-07-15

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

09:29

f:id:androidprogram:20100717020256p:image

 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 がスローされます。

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

続きを読む

2010-07-03

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

08:07

ArrayAdapter

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

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


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

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

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


続きを読む

2010-06-28

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

09:33

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


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

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

続きを読む

2010-06-22

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

02:52


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

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


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

続きを読む

2010-06-21

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

08:09

ListView で一覧表示


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

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

続きを読む