programming

AndroidTestCaseでListViewに子Viewを生成させる方法

ListViewのテストをやろうと思ったら、なかなか子viewを生成してくれなくて困った。ちなみにAndroidTestCaseでは、adapter.notifyDataSetChanged()を呼んでもListViewは更新されないので、データに変更がある度に下記の処理を呼ぶ必要がある。 listViewHeigh…

Activity#onRetainNonConfigurationInstanceについて

いまいちよく分かってなかったのでメモ。 といっても必要なことは全てAPIリファレンスに書いてあるんですが…onRetainNonConfigurationInstanceは画面の回転などでActivityが再生成されるときに、新しいActivityのインスタンスへデータを受け渡すときに使いま…

goog.ui.tree.TreeControllで選択されたノードを取得する方法

コードにするとたったこれだけなんですが… goog.events.listen( tree, goog.events.EventType.CHANGE, function(e){ console.log( e.target.getSelectedItem().getHtml() ); } このEventType.CHANGEにたどり着くのに一日費やしましたよ… EventType.CLICKやEv…

ActivityとServiceの連携

Serviceと連携したいときの手順メモ。 基本的にここに書いてあるのと同じ。 基本 1. Service側: IBinderをimplementsしたオブジェクトを用意し、Service#onBind()の戻り値として返す。 2. 呼び出し側: ServiceConnectionをimplementsしたオブジェクトを用意…

AndroidのView表示アニメーション

半透明のActivityを下からスライドさせて開く、というのをやりたくなった。 Activityのアニメーションで検索すると、大体ActivityのテーマのwindowAnimationStyleを設定する方法が出てくるようだ。 <resources> <style name="MyTheme" parent="android:Theme"> <item name="android:windowAnimationStyle">@style/Ani</style></resources>…

アプリの再インストールを検知する方法

アプリのインストール情報を検知するためandroid.manufestに以下の定義をする。 <receiver android:name=".MyReciever"> <intent-filter> <action android:name="android.intent.action.PACKAGE_ADDED" /> <action android:name="android.intent.action.PACKAGE_CHANGED" /> <action android:name="android.intent.action.PACKAGE_DATA_CLEARED" /> </action></action></action></intent-filter></receiver>

Activityの連続起動を検知する

事の発端 自作のアプリケーションランチャーでHomeボタンの押下を検知したくなった。 Homeボタンを一回押したらランチャーを表示し、ランチャーが表示されている状態でHomeボタンを押したら別の外部のHomeアプリを起動したい(PreHomeみたいな動作)。 という…