以下のコードで私が何をしているかを簡単に説明します。ViewStub (Vs) を作成し、それを RelativeLayout (Rl) に追加します。次に、同じ RL に新しい Vs を追加したいので、stub2 を作成して rl に追加します。次に、最初と 2 番目の Vs (rlInf1 、rlInf2) の Rl (inflatet) を参照します。次に、rlInf2 が rlInf1 の下になるように Rl.Layoutparams を設定しますが、それらは重複しています。新しい ViewStub が古い ViewStub の下になるように LayoutParams を設定するにはどうすればよいですか? 何か案は?
(ViewStub は XML ではなく Java コードで追加しました)
//Löschen des Standard-Tv
TextView tv = (TextView) findViewById(R.id.tvNoContentInfo);
RelativeLayout rl = (RelativeLayout) findViewById(R.id.Layout_ContentInfo);
rl.removeView(tv);
//Erstellen eines ViewStubs
ViewStub stub1 = new ViewStub(this);
//zum richtigen Layout hinzufügen
rl.addView(stub1);
stub1.setLayoutResource(R.layout.routen_navi_infocontent);
//Referenz zum eingefügten Layout herstellen
View inflated = stub1.inflate();
//Zugriff auf Inhalt des zufor referenzierten Layouts
TextView myTextView = (TextView) inflated.findViewById(R.id.tvHeaderInfocontent);
myTextView.setText("hey");
stub1.setId(View.generateViewId());
stub1.setInflatedId(stub1.getId());
RelativeLayout rlInf1 = (RelativeLayout) inflated.findViewById(R.id.Layout_infocontent);
ViewStub stub2 = new ViewStub(this);
//zum richtigen Layout hinzufügen
rl.addView(stub2);
stub2.setLayoutResource(R.layout.routen_navi_infocontent);
//Referenz zum eingefügten Layout herstellen
View inflated2 = stub2.inflate();
RelativeLayout rlInf2 = (RelativeLayout) inflated2.findViewById(R.id.Layout_infocontent);
RelativeLayout.LayoutParams p= new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
p.addRule(RelativeLayout.BELOW,rlInf1.getId());
rlInf2.setLayoutParams(p);