2016-05-16 8 views
0

2つのフラグメントが別々のライフサイクルで作成されています。フラグメント2のボタンをクリックすると、永続的なビューをフラグメント1に追加したいと思います。SharedPrefsからループを使用してビューを追加する

fragment1:

int i; 

do { 
    RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
    ViewGroup.LayoutParams.MATCH_PARENT, 
    ViewGroup.LayoutParams.WRAP_CONTENT); 
    params.setMargins(0, i*10, 0, 0); 
    Schedule_Class mClass = new Schedule_Class(getActivity(), "Math"); 
    Container.addView(mClass, params); 

    } while (prefs.getString("mClass"+i++, null) != null); 

fragment2:、それだけで、最新のキー値を持つつのビューを追加していますされて何が起こっている

int i; 
    FinishButton.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      prefs.edit().putString("mClass" + i++, "dummyValue").apply(); 
     } 
    }); 

、prvious 1だけで置き換えられます。

質問:意図したとおりに

なぜこのループが動作していませんか?私はそれをどのように機能させるのですか?

+0

を行うには良い方法です* *完了ボタンのonClickListenerに存在する? – sha

+0

** i **は各キーに異なる数字を追加することによって各キーを区別するint –

+0

** i **をインクリメントしていて、onClickメソッドで定義されていない場合、この変数がグローバルインスタンスでない場合、それは最終的な変数になります。これが問題の背景にある理由かもしれません。ちょうどいくつかの考え。 – sha

答えて

0

for loopは** iの値である何この

for (i = 1; prefs.getString("mClass"+i, null) != null; i++){ 

    RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
    ViewGroup.LayoutParams.MATCH_PARENT, 
    ViewGroup.LayoutParams.WRAP_CONTENT); 
    params.setMargins(0, i*10, 0, 0); 
    Schedule_Class mClass = new Schedule_Class(getActivity(), "Math"); 
    Container.addView(mClass, params); 
} 
0

Fragment2でfinishButtonをクリックすると、Fragment1でどのようにコードをトリガーしますか?

一般に、EventBusなどのイベントフレームワークを使用できます。あなたがLISTVIEWのロジックで動作することができます

+0

キーストリングにキーストリングをクリックして追加し、そのキーがヌルであるかどうかを確認します(ビューを追加しない場合) –

0

,,あなたはfagment、1時間、2回目を膨らませることができ、あなたはoficlaのWebサイトからBaseAdapter、 の上にいくつかのロジックを他の最新デザインを置くことができます。インターネットからの

http://developer.android.com/intl/es/guide/topics/ui/layout/listview.html

および他の例(グーグル)

https://www.caveofprogramming.com/guest-posts/custom-listview-with-imageview-and-textview-in-android.html

+0

提案に感謝しますが、一部のビューはオーバーレイする必要があります –

関連する問題