サービスを使用して、x秒ごとにカスタムオブジェクト(MyObject)のArrayListを作成するアプリケーションがあります。次に、アクティビティでこのArrayListを取得します。
現在、サービスがデータのクエリを終了するたびに、アクティビティのハンドラーにメッセージを送信することを計画しています。ハンドラーへのメッセージにMyObjectsのArrayListを含める必要があります。
このArrayListをメッセージから取得するためにアクティビティでメソッドを構築すると、できないことに気づきました。
やってみたら
msg.getData().getParcelableArrayList("myObjects")
次に、私がそれを渡したメソッドは、ArrayListがそれを受け入れないことを期待していました。結果をキャストしようとした場合:
(ArrayList<MyObject>)msg.getData().getParcelableArrayList("myObjects")
エラーが発生しました:Cannot cast from ArrayList<Parcelable> to ArrayList<MyObject>
MyObjectはParcelableを実装しており、アクティビティでサービスのメソッドを呼び出して取得することにより、サービスからアクティビティにArrayListを正常に送信しました。ただし、このデータについてサービスをポーリングすることをやめようとしています。
1)ハンドラーへのメッセージでバンドル内のArrayListを送信するにはどうすればよいですか?
2)アクティビティのデータを更新するために使用する必要がある別のモデルがありますか?表示される場合と表示されない場合がありますか?私は常に自分の活動のデータがサービスからの最新のものであることを望んでいます。