Ich bin neu bei Android und ich habe eine ScrollView erstellt und darin ein vertikales lineares Layout hinzugefügt, das TextViews und Picker enthält. Alle diese wurden programmgesteuert erstellt. Mein Problem ist auf setContentView (scroll) Zeile. Es scheint alle Objekte zu überdecken, die ich (nicht programmatisch) auf der ConstraintLayout auf der Rückseite erstellt habe. Aber ich habe bereits die Höhe meines dynamischen ScrollView auf 800 eingestellt. Wie kann ich die 4 Tasten auf der Rückseite von ScrollView anzeigen?Android setContentview (scroll) verbirgt die ConstraintLayout Objekte auf der Rückseite
Siehe Screenshots:
non dynamic objects in constraintlayout
programmatically created objects in linearlayout inside scrollview
Hier ist der Code.
ScrollView scroll = new ScrollView(this);
scroll.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,
800));
scroll.setFillViewport(true);
setContentView(scroll); //here is the line with issue
LinearLayout linearLayout = new LinearLayout(this);
linearLayout.setOrientation(LinearLayout.VERTICAL);
LayoutParams lp1 = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
linearLayout.setLayoutParams(lp1);
scroll.addView(linearLayout);
for(int i = 0; i < res2.getCount(); i++)
{
NumberPicker numberPicker = new NumberPicker(this);
numberPicker.setMinValue(0);
numberPicker.setMaxValue(100);
TextView textView = new TextView(this);
textView.setText(/*textArray[i] + " " +*/ res2.getString(1));
linearLayout.addView(textView);
linearLayout.addView(numberPicker);
res2.moveToNext();
}
Vielen Dank im Voraus für Ihre Hilfe.
Danke. Sollte ich auch die ScrollView (Parent von LinearLayout) in der XML deklarieren anstatt sie programmatisch zu erstellen? –
Vielen Dank. Es funktionierte :). Das ist also die beste Vorgehensweise. Erstellen Sie Layouts per XML für mehr Kontrolle und fügen Sie dann dynamisch Inhalte hinzu. –
Ja, Sie sollten die Ansichten nur programmatisch erstellen, wenn Sie nicht von Anfang an wissen, was Sie anzeigen müssen. Bitte markieren Sie es als die richtige Antwort, wenn es Ihnen hilft! :) –