質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Q&A

解決済

1回答

3501閲覧

getSerializableExtraの値がnullになる

tarofess

総合スコア127

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

0グッド

0クリップ

投稿2015/11/06 02:57

下記のコードを実行すると、結果がnullで返ってきます。

Java

1(ArrayList<Category>)intent.getSerializableExtra("category")

また、上記のコードには次のような警告文が表示されています。
「unchecked cast: 'java.io.serializable' to 'java.util.arraylist<パッケージ名.Category>'」

値を渡す時は次のようにして値を渡しています。
categoryという変数はCategory型のArrayListです。
CategoryクラスにはSeriarizableインタフェースを実装しています。

Java

1intent.putExtra("category", category);

どうすれば正常に値の受け渡しを行うことができるでしょうか?
どなたかわかる方がいれば教えていただきたいです。宜しくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

swordone

2015/11/06 03:05

最初のコードはどこで呼んでいますか?
tarofess

2015/11/06 03:18

fragmentのonActivityCreated()の中で呼んでいます。
guest

回答1

0

ベストアンサー

Fragmentだとすると、こういうことでしょうか…?→Fragment に値を渡す方法(ActivityのIntentに相当)
正直Fragmentは使ったことがないので申し訳ないです。

後半に関してですが、起動先のActivityからはこのメソッドで取得できるSerializableの実体が何かコンパイル時点では確認しようが無いため、このような警告が出ます(unchecked cast=未検査キャスト という)。
気になるようでしたらこれを呼び出しているメソッドに@SuppressWarnings("unchecked")を付けると、警告は無視されます。

投稿2015/11/06 03:24

swordone

総合スコア20651

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tarofess

2015/11/06 05:00

ご回答ありがとうございます。今まで訳あってintentで値の受け渡しをしていたのですが、Fragmentで値の受け渡しを行った方が良さそうですね。 @SuppressWarnings("unchecked")をつけると確かに警告が消えました。 unchecked castの意味も理解できました。 なぜ現状で値の受け渡しができないのかはわからないのですが、問題は解決できそうです。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問