Noimage small View

View

ここにおけるViewとはAndroidのViewのこと。
Androidアプリのコントロール群がひととおりおさめられているpackage。

リストビューのカスタマイズ

1.リスト用のXMLを用意。
2.ArrayAdapterをオーバーライドして専用のアダプタを作成する。
3.getViewオーバーライドで各情報をviewに対して設定していく
アダプタのオーバーライドが肝かなー。
http://labs.techfirm.co.jp/android/cho/751

リストビュー内にクリックを前提としたコントロールを追加

追加するとOnItemClickListenerが働かなくなるので注意。回避方法としては、リスト内に追加したクリッカブルコントロールのFocusableをfalseに設定すること。これでOnItemClickも内部に設定したコントロールもイベントをとれる。


ImageView

setImageUriはHTML経由の画像は使えない。
HTTPを経由する場合setImageDrawable(Drawable drw)
ちなみに引数のDrawableクラスはDrawable.createFromStream(new URL("URL").openStream(),"Name")で作成
http://d.hatena.ne.jp/iRSS/20100102/126244...

WebViewクラス

loadData()メソッドでは特殊文字は表示されない。バグ。
loadDataWithBaseURL()こちらのメソッドを使用すれば問題なく表示される。
http://www.taosoftware.co.jp/blog/2009/01/...

WebViewにCookieをセットする

CookieManger.getInstance()で得たCookieManagerにCookieをセットする。setCookie(目的のURL, クッキー)でセットされるが、同じURLでも複数のクッキーをまるごと一気には設定できない。一個づつ分割してセットすること。domainやpathやexpiresなどのパラメータはセットするクッキー内に一緒に入っていても良い。

ExpandableListViewクラス

カスタムアダプタ作成

BaseExpandableListAdapterをextendsして作成する。子アイテムはgetChildView()が呼ばれてView作成。親アイテムはgetGroupView()が呼ばれて作成される。
あと注意点としてはisChildSelectable()がOverrideとして追加された初期ではfalseを返すようになっている。子アイテムにもSelectedイベントを付加させたい場合はここはtrueを返すようにすること。

ExpandableListViewActivityクラスでコンテキストメニュー

1.コンストラクタ辺りでコンテキストメニューを表示するビューを設定する。registerForContextMenu(getExpandableListView());
2.onCreateContextMenu(コンテキスト表示前のイベント)とonContextItemSelected(コンテキスト表示終了時イベント)をオーバーライドする。

しかし選択されているアイテムの取り方がExpandableだけにちょっと特殊。引数のMenuInfoもしくはMenuItemからgetMenuInfo()を受け取りExpandableMenuInfoにキャストしておく。ListViewのgetPackedPositionTypeから選択しているアイテムが親アイテムか子アイテムかを判別。その後先程のExpandableMenuInfoにあるpackedPositionを引数にするgetPackedPositionGroup()もしくはgetPackedPositionChild()を使って各ポジションを得る。長いよ。

もしかして

    他の人の「View」

    Noimage small

    最新

      最新エントリ

        関連ツイート