「追加」ボタンをクリックすると、「add」ボタンとGridLayoutに6スロットがあり、view1がgridlayoutに追加されます。 'ボタンをもう一度押してください。ビューが特定の順序でビューを追加し、その順序を格納する
if (prefs.getString("text4", null) != null) {
Grid.addView(theLayout4);
}
if (prefs.getString("text5", null) != null) {
Grid.addView(theLayout5);
}
// each view has one EditText
私の問題がある活動を再作成するとき、私は追加しVIEW1を削除した場合、彼らは自動的に、追加することができるように、そのテキストがすでにsharedPrefsに添加した場合、私がチェック追加されます後
if (!theLayout1.isShown()) {
Grid.addView(theLayout1);
} else if (!theLayout2.isShown()) {
Grid.addView(theLayout2);
} else if (!theLayout3.isShown()) {
Grid.addView(theLayout3);
} ..... // this goes on
それは私が望むように最後のスロットに配置されますが、アクティビティを再作成すると、最初の位置に戻ります。なぜなら、コードはその順序で読み込まれるため、最初の順序でビューが追加されるからです。
アクティビティを終了する前の順序でアクティビティを再作成するときにビューを追加したい場合、これは単純な論理的解決策を持っているかもしれません。あるいは、私はちょうどその問題に非常に間違っています。 !
(int)iの順番でレイアウトを追加しませんか? (layout1、次にlayout2、次にlayout3、layout4 ...) –
あなたが望む順序でレイアウトを追加することができます! 重要な部分は、順番に検索することだけです。 – GuillaumeAgis