2

2 つのスレッド間で通信し、メッセージを使用してデータを転送します。私の場合、HashMap. データを再構築すると、未チェックの型キャストに関する警告が表示されます。それは私(Java初心者として)に、そのキャストをまったく行うべきではないことを意味しますよね?しかし、バンドルから HashMap を取得する正しい方法は何でしょうか?

    Bundle dataBundle = msg.getData();
Serializable result = dataBundle.getSerializable("data");
HashMap<String,String> output = (HashMap<String, String>) result;

ポインタをありがとう!マーカス

4

1 に答える 1

3

だからあなたのアプローチで

getSerializable("data");

getSerializableメソッドは常にSerializableインスタンスを返すため、キャストせずにそれを行う方法はありません。

キャストしなくてもgetParcelableExtraその戻り値を使用できますTが、アプリケーションのコンテキストについては何でも知っているので、使用できるかどうかはわかりません。

于 2012-07-14T07:47:54.803 に答える