K
keen
Ambitioniertes Mitglied
- 10
Hi,
ich schreibe gerade an einer kleinen App, in der ich Formulare verwende.
Zum Auswahl eines Zahlenwerts habe ich einen NumberPicker in einen AlerDialog gepackt.
In der Orientation 'Portrait' funktioniert es auch einwandfrei aber wenn ich das Handy in Landscape drehe sind die Button aus dem Alertdialog nicht mehr zu sehen.
Kennst jemand das Problem und kann mir helfen?
Hier der Code dazu:
layout/number_picker_dialog.xml
Activity:
ich schreibe gerade an einer kleinen App, in der ich Formulare verwende.
Zum Auswahl eines Zahlenwerts habe ich einen NumberPicker in einen AlerDialog gepackt.
In der Orientation 'Portrait' funktioniert es auch einwandfrei aber wenn ich das Handy in Landscape drehe sind die Button aus dem Alertdialog nicht mehr zu sehen.
Kennst jemand das Problem und kann mir helfen?
Hier der Code dazu:
layout/number_picker_dialog.xml
Code:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<NumberPicker
android:id="@+id/scba_numberpicker"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginBottom="24dp"
android:layout_marginEnd="24dp"
android:layout_marginLeft="24dp"
android:layout_marginRight="24dp"
android:layout_marginStart="24dp"
android:layout_marginTop="24dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>
Activity:
Code:
class TeilnahmeActivity : AppCompatActivity() {
...
override fun onCreate(savedInstanceState: Bundle?) {
...
p_scba_duration.setOnClickListener {
val dialogView = layoutInflater.inflate(R.layout.number_picker_dialog, null)
val numberpicker = dialogView.findViewById<NumberPicker>(R.id.scba_numberpicker)
numberpicker.apply {
displayedValues = arrayOf("kein Atemschutzeinsatz", "5min", "10min", "15min", "30min", "45min", "1 Stunde", "1.5 Stunden", "2 Stunden", "mehr als zwei Stunden")
minValue = 0
maxValue = displayedValues.lastIndex
wrapSelectorWheel = false
}
val alertDialog = AlertDialog.Builder(this@TeilnahmeActivity).apply {
setTitle("Atemschutzeinsatz")
setMessage("Zeit im Atemschutzgeräteeinsatz:")
setView(dialogView)
setPositiveButton("Eintragen"){ _, _ ->
p_scba_duration.setText(numberpicker.displayedValues[numberpicker.value])
}
setNegativeButton("Abbrechen"){_, _ -> ; }
}
alertDialog.create().show()
}