2016-05-20 13 views
2

次の機能を持つアプリケーションを作成しています。メインアクティビティは、3つのfragmentsを持つタブ付きアクティビティです。中部fragmentは、ListViewで構成されています。あなたはそれはあなたが2つのいずれかを行うことができますListView項目を選択すると:さまざまなアクティビティでレイアウトを保存して読み込みます

  1. 編集レイアウトを、あなたはボタン、スイッチ、テキストボックス、電気ショック療法を追加することができます。
  2. レイアウトが作成された場合は、すべてのカスタムは、ユーザーが追加の景色を望むレイアウトがロードされる最初のタブにスワイプすることができます。

ViewGroupをどのように保存することができるかを知りたいので、ユーザーはそれらにアクセスして好きなように編集することができます。これはSavedStatedを使って行うことができないと私は考えていません。なぜなら、これは異なるアクティビティにまたがるためです。そのため、セーブ/ロードする方法が必要です。

私はあなたのレイアウトをカスタマイズすることを可能にする一つの断片を持っています。すべての子供にViewGroupを保存するだけです。だからではなく、10種類のXMLレイアウトを持つのは、さまざまなListView項目が選択されるように動的に挿入することができ、10種類ViewGroupsで1つのXMLレイアウトを持っているでしょう。これは、レイアウトの画像にすることはできません

、私が表示し、ユーザに超えるI]タブでは、彼らは喜ばたときに自分のレイアウトを編集できるようにする必要がある場合、すべてのボタンやスイッチの機能を持っている必要があります。

答えて

1

は、私はあなたのすべてを見るためのモデルを作成する必要があると思います。

public class ModelButton implements Serializable{ 
    private String text; 
    private Bitmap bgResource; 
    private int width; 
    private int height 
    public ModelButton(final String text, final Bitmap bgResource, final int width, final int height) { 
     this.text = text; 
     this.bgResource = bgResource; 
     this.width = width; 
     this.height = height; 
    } 
} 

モデルのすべてが意図にそれを渡しできるようにSerializableインタフェースを実装する必要があります - たとえばModelButtonでは、ボタンのモデルは、次のコードを持っていることです。 また、ビューの幅と高さを格納する方法が必要です。

これは単純な方法ではありませんが、私が知っているように、私は恐れていたものです活動

+0

間のViewGroupまたはビューを渡す方法はありません。私はこのアプリをどのように構築するのか考え直さなければならないと思う。複数のフラグメントを作成し、ユーザーが選択した内容に応じてそれぞれをフラグメント化するとどうなりますか?その断片をカスタマイズした後に保存する方法はありますか? – srtmonkey

+0

はい、作成したViewGroupをコンテンツとしてフラグメントを作成できます。しかし、あなたはまだonPause - onResumeのfragtmentメソッドが呼び出されたときにビューを格納する方法が必要です – Konstantin

関連する問題