2011-07-11 19 views
2

私はputExtra()を使用して、あるアクティビティのデータを他のアクティビティに渡しました。私はParcelableインスタンスを作成したいが、私はnullオブジェクトを取得している。ここgetParcelable()はnullオブジェクトを返します

は、最初のアクティビティのコードである:ここ

i = new Intent(Activity1.this, Activity2.class); 
i.putExtra(com.login_app.Activity1.extra, "100"); 
startActivity(i); 

は、第二の活性のコードである:ここ

Intent inew = getIntent(); 
Bundle icicle1 = inew.getExtras(); 
// this is just a debug code 
System.out.println(
    icicle1.getSerializable(com.login_app.Activity1.extra).toString()); 
Parcelable p = inew.getParcelableExtra(com.login_app.Activity1.extra); 

は、pがNULLオブジェクトです。

私が間違っているか、他に何かを追加する必要がある場合は教えてください。私は、このParcelableオブジェクトをParcelオブジェクトにフラット化します。

答えて

5

これは、Stringを入力しましたが、Parcelableを取得しようとしているためです。代わりにgetStringExtraを使用してください。

また、[getParcelable()][1]Bundle文書から(この機能は、実際にIntentのバンドルから余分に取得するために使用される):

は、与えられたキーに関連付けられた値はnullを返した場合希望のマッピングしていません指定されたキーの型が存在するか、null値がキーに明示的に関連付けられています。

したがって、タイプが一致していないため、nullが得られます。

+0

ありがとうinazuruk..that有用だった – Sumit

+0

パーセルオブジェクトを作成してパーセルで平坦化する方法を教えてもらえますか? – Sumit

+2

これは別の質問です。あなたの質問に対する答えがない場合、[so]の検索機能を使用して新しい質問を投稿してください。 –

関連する問題