Keine Sorge! Das ist eigentlich einfach. Man muss nur erstmal mit den ganzen Methoden der Android Api klar kommen.
1. Wenn du ein Knopf hast solltest du dir ihn in deine Methode (onCreate) holen und die: setOnClickListener() Methode auf ihn erstellen.
//erstellung von Objekt
val startAlarm: Button = findViewById(R.id.alarm_starter)
/*Das Objekt kannst du so nennen
wie du willst, achte aber auf die
ID. Sie sollte mit der in deinem
Layout übereinstimmen.*/
/*sagt deiner App, dass sie den
Code ausführen soll wenn genau DER
Knopf gedrückt wurde*/
startAlarm.setOnClickListener {
// Späterer Code
}
(Code ist Kotlin. Wenn du es in Java brauchst kann ich dir es auch später senden.)
2. Du musst dir den Wert von zum Beispiel deiner SeekBar (Das ist z.B. deine Helligkeitsleiste) holen möchtest ,macht man das so:
(Das ist die selbe Methode, weil man nur eine pro Knopf haben kann)
startAlarm.setOnclickListener {
//ACHTUNG: Man muss es hier
//erstellen ansonsten wird nur der
//Erstellungswert(der Wert bei der
// Erstellung) genutzt
val time: SeekBar = findViewById(R.id.timeSeekBar)
//Das Progress gibt deiner
//Berechnung den Längenwert. Wenn
//du mit Sekunden rechnest wird 1
//Stufe als 1 Sekunde gezählt
timerFunName(time.progress)
}
Man kann natürlich auch ein EditText nehmen und den Wert rausnehmen, doch dann muss man den SeekBar Schritt ersetzen.
startAlarm.setOnclickListener {
val timeText: EditText = findViewById(R.id.timeText)
//. ist der Zugriffsoperator von
// einer Instanz/Objekt und text
// nimmt den text
var texTTT: String = timeText.text
// besser ist aber try und catch
if(!(texTTT.toInt == null)) {
//die Range kann so lang sein wie du willst
timerFunName(texTTT.toInt)
}else {
Toast.makeText(this, "Dieser Wert ist keine Zahl!", Toast.LENGTH_SHORT).show()
}
}
(Der letzte Part ist nicht ganz gut geworden 😅)
Das "timerFunName()" ist dann deine Berechnung ausgelagert in einer Funktion.
Falls du es nicht verstanden hast oder etwas nicht funktioniert antworte einfach auf diesen Post mit deiner Frage oder Problem :)