2012-01-20 6 views
0

アンドロイドアプリケーションに取り組んでいます。私はちょっと複雑なときに私たちがUIの外観をどのように操作できるか混乱しています。&次のアクティビティのUIを塗りつぶすアンドロイドの現在のアクティビティをフォーム

ボタンのクリックで問題が発生しました。ArrayList< Some Object >を生成しています。次のアクティビティのUIに、このArrayListを反復処理して入力します。この配列リストを次のアクティビティに渡すことはできませんBundle.putExtrasメソッドはサポートされていないので、ArrayList<String>だけがサポートされます。この段階では、現在のアクティビティのボタンクリックメソッドiteselfから次のアクティビティUIを作成すると考えることができます。これについては多く考えていますが、これを解決するアイデアはありませんでした。

誰も私の問題を解決する良い方法を提案できますか?

ありがとうございます。

答えて

1

:このソリューションを使用するには、あなたのバンドルを通じてActivity2に

をActivity1からParcelableオブジェクトの配列を送る

#1を、あなたが実装する必要がありますあなたのクラス "SomeObjectの" にParcelable

#2ストア自分の価値観独立データベースまたはSharedPreferenciesへのへのActivity1から、あなたはシングルトンを使用してActivity2 =>詳細はhere

#3では1回、これらの値を取得するので、あなたはどこにでも

からデータにアクセスすることができます
public class MySingleton { 
    private static MySingleton _instance; 
    private ArrayList<SomeObject> myList; 

    private MySingleton() { 
     myList = new ArrayList<SomeObject>(); 
    } 

    public static synchronized MySingleton getInstance() { 
     if (_instance==null) { 
      _instance = new MySingleton(); 
     } 
     return _instance; 
    } 

    public ArrayList<SomeObject> getMyList(){ 
     return myList; 
    } 

} 

アクティビティ2から、次のようにArrayListを取得できます。MySingleton.getInstance().getMyList();

+0

+1素敵な説明!! – Venky

0

「一部のオブジェクト」をParcelableにしてArrayList<Parcelable>を入力してください。

+0

can plea私はParcelableオブジェクトを作成するための簡単なアイディアを教えてくれます。私はそれについてのアイディアを得ていませんでした。 –

+0

Parcelableは単なるインタフェースです(私はあなたのためにドキュメンテーションをリンクしました)。だからあなたがArrayListに入れているオブジェクトは、あなたが書いたカスタムクラスであると仮定しています。Parcelableを実装して、オブジェクトを再作成するのに必要なすべてのインスタンス変数を読み書きできるようにします。オブジェクトが複雑すぎる場合は、代わりにSQLiteを使用することを検討する必要があります(前のアクティビティでデータベース内のオブジェクトが読み込まれ、IDとともにインテントが渡され、IDを使用してデータベースからオブジェクトが読み込まれます)。 – gianpi

0

ArrayList<Some Object>staticアクセス指定子にします。あなたが発行解決するための様々なソリューションを使用することができます

関連する問題