2016-04-26 5 views
0

私は、データをarraylistに格納し、あるアクティビティから他のactivityに渡すためにParcelableクラスに取り組んでいます。しかし、パーセルブルモデルクラスにはアンドロイドコンポーネントのtextviewが含まれています。ParcelableクラスにUIコンポーネントを格納する方法は?

enter image description here

あなたの答えをいただければ幸いです。

答えて

1

あなたはしません。プロセス間にViewを渡すことはできません。これは、Parcelableの要件です。

CustBeanは最初のアクティビティでTextViewにあったテキストが含まれているので、第二の活動は、ユーザーにStringことを示すために、独自のTextViewを作成することができますStringを、保持してもらいます。

+0

シリアル化可能なビューを保存できますか? – Vasant

+1

@Vasant:いいえ、申し訳ありません。 'TextView'ではなく' String'を渡してください。 – CommonsWare

1

TextViewのようなプレーン古いJavaオブジェクトのAndroid固有のビューには挿入できません。
ドキュメントを読む:
https://developer.android.com/reference/android/os/Parcel.html

+0

シリアル化可能なビューを保存することはできますか? – Vasant

+0

@Vasantいいえ、できません。いずれにせよ、POJOにtextView.getText()やそのようなsmthを送るコンストラクタでPOJOを単に埋め込むことができます。 –

1

TextViewしたがって、それはparceledすることができない、Parcelableではありません。

これは、とにかにはContextへの参照を持ちます。したがって、データオブジェクトに入れて別の場所から1つの場所に送信するという考え方はややばかげています。 textView.getText()を送信することで、ほぼ同じことになります。

+0

シリアル化可能なビューを保存することはできますか? – Vasant

+0

あなたはなぜそうは見えないのですか?テキストのみを送信し、テキストビューの状態(たとえば色、テキストサイズなど)が状態に依存する場合は、状態を送信し、レイアウト内の新しいアクティビティでテキストビューを作成します。ちなみに、 'Context'はシリアライズ可能ではありません。 – EpicPandaForce

+0

はtextviewのために配列list.arraylistで利用可能なデータのリストに従って動的に作成します。データのサイズはさまざまですので、 – Vasant

関連する問題