Intent でオブジェクトを送るには serializable を使う、と
Activity の間でオブジェクトをやりとりできないのかと思っていたら、serializable を使えばよいということらしく使ってみた。implements serializable と加えるだけ。
ただ、注意が示されて、なにやら UID を設定しろということらしい。なくても使えるらしいのだけれど、あるとエラーとかあったときに知らせてくれるとかくれないとか(いや、くれるのだと思う)。
ということで勝手に生成もしてくれるのでお願いしておく。
さて、と実行させてみるとまさしくそのあたりでエラーがでる。すべてのオブジェクトで使えるわけではないとかいう記述もみかけたので、駄目なのがあったのかなあとか思うが、int と String だけなのでたぶん基本的にはいけるのではないだろうか、などと思っていた。
で、ふと思ったのは ArrayList<Object> がある。この Object のほうもやるべきなのではないかということでそちらにも追加する。そっちも int と String だ。
そうしてあらためて実行すると問題なく動作した。ホッとする。
はじめはいちいち個別に渡さないとだめかとか思っていたが、考えてみたらわたしあとでそのオブジェクトそのものが初期化されてしまったりということもあるのだし、受け取ったデータであらためて生成してなどということをしていたら面倒だなあと思ったので、シンプルにオブジェクトのまま渡せて助かった。
ということでひとつ懸案が解消されたのだった。(しかし、山を越えるとまた山があるのであった)
それはそうと「レシピ本」があれこれ活躍していて買っててよかった、状態なのだった。
![]() | Androidプログラミングレシピ増補改訂版 アーキテクチャ/UI/ネットワーク編 Dave Smith Jeff Friesen 吉川 邦夫 インプレスジャパン 2013-09-24 by G-Tools |
![]() | Androidプログラミングレシピ増補改訂版 メディア/データ/システム/ライブラリ/NDK編 Dave Smith Jeff Friesen 吉川邦夫 インプレスジャパン 2013-09-24 by G-Tools |
| 固定リンク
コメント