startActivityForResultを呼び出した直後にonActivityResultが実行され、呼び出されたActivityがfinishしたときには、onActivityResultが実行されない現象が起こりました。もうちょっと付け加えると、
(呼び出し元の)startActivityForResult
↓
(呼び出し元の)onActivityResult
↓
(呼び出される側の)onCreate
という順番になってます。
ググってみると、こんなディスカッションがありました。
Manifestファイルの中で、呼び出す側/呼び出される側の双方のActivityが「android:launchMode="singleInstance"」とか「android:launchMode="singleTask"」になっているとstartActivityForResultが機能しないようです。「singleInstanceは使うな」って書いてありますね。メモリー節約と思ってほぼ全部のActivityにこの設定をしていたのですが、あんまり使わない方が良いのだろうか・・・。
追記:ここらへんのまとめをされてる記事
(呼び出し元の)startActivityForResult
↓
(呼び出し元の)onActivityResult
↓
(呼び出される側の)onCreate
という順番になってます。
ググってみると、こんなディスカッションがありました。
Manifestファイルの中で、呼び出す側/呼び出される側の双方のActivityが「android:launchMode="singleInstance"」とか「android:launchMode="singleTask"」になっているとstartActivityForResultが機能しないようです。「singleInstanceは使うな」って書いてありますね。メモリー節約と思ってほぼ全部のActivityにこの設定をしていたのですが、あんまり使わない方が良いのだろうか・・・。
追記:ここらへんのまとめをされてる記事
2010/10/16: Canvasを透明にクリアしたい時
Canvasを色で塗りつぶして初期化するんでなくて、全くの透明な状態にしたいときは、これです。
Canvasを完全に初期化
以上。
Canvasを完全に初期化
canvas.drawColor(0,PorterDuff.Mode.CLEAR );
以上。
2010/10/04: LogCatをターミナルに出力(日本語可)
EclipseのLogCatだと、日本語が文字化けしてみれないので、そういうときはターミナル上でLogCatを吐き出します。
超簡単なんですが、普段ターミナル使うのが久しぶりだと「あれ、どうするんだっけ?」となってしまうので、ここに書いときます。
ターミナルにLogCatの出力を表示させるコマンド
adb logcat