German EditText Eingabe prüfen

CrizZzi

New Member
Hallo zusammen,

ich hab jetzt schon einige Seiten durchgewälzt und auch das "handle-soft-keyboard-ime-library"-Tutorial probiert, jedoch kriege ich es nicht hin, über 2 EditText-Felder und einem "bestätigen"-Button eine Passwort-/Benutzerprüfung zu vollziehen.

Im Moment habe ich versucht es so zu lösen:

Sub btnWeiter_Click
IME_HandleAction
End Sub


Sub IME_HandleAction as Boolean
Dim e As EditText
e = Sender
If e.Text.Contains("heinz") = False Then
ToastMessageShow ("Falscher Benutzer oder falsches Passwort", True)
Return True
Else
Return False
StartActivity("tpsearch")
End If
End Sub


Dann bekomme ich den Error:
In password_ime_handleaction
java.lang.ClassCastException:
android.widget.Button cannot be cast to android.widget.EditText.


Hat jemand eine Idee wie ich das lösen könnte bzw. vll einen besseren Vorschlag um eine Passwort- und Userabfrage zu steuern?


Bin noch ziemlich neu im Programmierbereich und daher sehr dankbar für jeden Tipp:)
 

klaus

Expert
Licensed User
Longtime User
Du brauchst nicht die IME Library für das.
Beiliegend ein Beispielprogramm:
B4X:
Sub Globals
    Dim btnWeiter As Button
    Dim edtUser, edtPasswort As EditText
End Sub

Sub Activity_Create(FirstTime As Boolean)
    edtUser.Initialize("edtUser")
    Activity.AddView(edtUser, 60dip, 10dip, 200dip, 50dip)
    edtUser.InputType = edtUser.INPUT_TYPE_TEXT
    
    edtPasswort.Initialize("edtPasswort")
    Activity.AddView(edtPasswort, 60dip, 70dip, 200dip, 50dip)
    edtPasswort.InputType = 129
    
    btnWeiter.Initialize("btnWeiter")
    Activity.AddView(btnWeiter, 60dip, 140dip, 200dip, 50dip)
    btnWeiter.Text = "Weiter"
End Sub

Sub btnWeiter_Click
    If edtUser.Text <> "Heinz" OR edtPasswort.Text <> "Passwort" Then
        ToastMessageShow ("Falscher Benutzer oder falsches Passwort", True)
    Else
        ToastMessageShow ("Benutzer und Passwort OK", True)
    End If
End Sub
Diese Zeile
edtPasswort.InputType = 129
setzt den Password input Modus für die EditText View.

Beste Grüsse.
 

Attachments

  • EditTextInputType.zip
    5.7 KB · Views: 133

CrizZzi

New Member
Danke schonmal :) ..

Dein Code funktioniert, nur nicht mit dem von mir im Designer gestalteten Layout, sondern nur mit dem von deinem Code generierten.

Sprich: Wenn ich es so löse funktioniert die Abfrage nicht.

Sub Globals
Dim btnWeiter as Button
Dim etUser, etPasswort as EditText
End Sub


Sub Activity_Create(FirstTime As Boolean)
Activity.LoadLayout("password")
etUser.Initialize("etUser")
' Activity.AddView(etUser, 60dip, 10dip, 200dip, 50dip)
' etUser.InputType = etUser.INPUT_TYPE_TEXT

etPasswort.Initialize("etPasswort")
' Activity.AddView(etPasswort, 60dip, 70dip, 200dip, 50dip)
' etPasswort.InputType = 129

btnWeiter.Initialize("btnWeiter")
' Activity.AddView(btnWeiter, 60dip, 140dip, 200dip, 50dip)
' btnWeiter.Text = "Weiter"
End Sub


Sub btnweiter_Click
If etUser = "h" Then
StartActivity("tpsearch")
Else
Msgbox ("Falscher Benutzer oder falsches Passwort", "Fehler beim Anmelden")
End If
End Sub


Sobald ich aber die Zeile "Activity.LoadLayout("password")" auskommentiere, und deinen Code wieder einkommentiere funktioniert es, aber eben mit deinem Layout.

Es ist, also würde man nicht mitbekommen, was in das EditTextfeld geschrieben wird.
Hast du da eine Idee wie ich diese Eingabe noch abfangen könnte?


Vielen Dank schonmal :)

PS: Wie kann ich die Codeschnipsel in so einem Codefenster wie du es hast darstellen?
 

klaus

Expert
Licensed User
Longtime User
Wenn Du Views im Designer definierst DARFST Du diese nicht nochmal initialieren.
Also diese Zeilen müssen raus
B4X:
etUser.Initialize("etUser")
.
etPasswort.Initialize("etPasswort")
.
btnWeiter.Initialize("btnWeiter")
Wie kann ich die Codeschnipsel in so einem Codefenster wie du es hast darstellen?
Wenn Du ein Post vorbereitest findest Du über dem Editierfeld eine Reihe von Buttons.
Für die Codesnippets klicke auf # dann bekommst Du
B4X:
[\CODE].
Kopiere das Codeschnipselzwischen ][.

Es ist meisstens vorteilhaft für Fragen das Projekt als zip Datei zu Posten dann können wir sehen was wie gemacht wurde und können das Programm unter den gleichen Bedingungen wie Du testen (IDE Menü Files / Export As Zip).

Beste Grüsse.
 
Top