Chciałbym użyć AlertDialog jako okna logowania lub kodu PIN lub hasła. Oto mój kod -AlertDialog Input Text
AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.setTitle("Login");
alert.setMessage("Enter Pin :");
// Set an EditText view to get user input
final EditText input = new EditText(this);
alert.setView(input);
alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
String value = input.getText().toString();
Log.d(TAG, "Pin Value : " + value);
return;
}
});
alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
return;
}
});
alert.show();
Jak zakodować, że cały tekst wejściowy będzie wyglądać „***” - gwiazdkę
nie mogę dostać mój wartość kodu PIN mimo to pokazuje się gwiazdką. mojego kodu jest poniżej
private void accessPinCode_2()
{
LayoutInflater factory = LayoutInflater.from(this);
final View textEntryView = factory.inflate(R.layout.dialog_login, null);
AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.setTitle("Login");
alert.setMessage("Enter Pin :");
alert.setView(textEntryView);
alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
//String value = input.getText().toString();
EditText mUserText;
mUserText = (EditText) textEntryView.findViewById(R.id.txt_password);
String strPinCode = mUserText.getText().toString();
Log.d(TAG, "Pin Value : " + strPinCode);
return;
}
});
alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
return;
}
});
alert.show(); }}
dialog_login.xml
<?xml version="1.0" encoding="utf-8"?>
<EditText xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/txt_password"
android:password="true"
android:layout_height="wrap_content"
android:layout_width="250px"
android:layout_centerHorizontal="true"
android:layout_below="@+id/password_text"
android:singleLine="true" />
wszedłem wartość, ale uzyskać zerowy!
jak rozwiązać?
Debugowanie jest zatrzymywane na tym komunikacie. Kiedy wskazałem powyżej mUserText null value jest pokazywany w popup.
String strPinCode = mUserText.getText(). ToString();
Używam Androida 1.6. Czy to zależy od wersji? :?:
Dziękuję Macarse. Znam to android: hasło. Ale chcę tylko użyć AlertDialog jako formularza logowania. Czy dobrze jest z tego korzystać? Moja aplikacja ma układ głównej karty, a następnie pojawi się powiązana z nią aktywność. Wygląda jak wbudowane kontakty. Chciałbym wyświetlić ten układ logowania za każdym razem, gdy użytkownik zacznie korzystać z mojej aplikacji. Wiem o zdarzeniu onResume(), ale jeśli korzystam z tego zdarzenia, czasami układ logowania pojawi się dwa lub więcej razy. W jaki sposób kodować się przy każdym uruchomieniu aplikacji przez użytkownika? – soclose
Zadziałało. Używam LayoutInflater, opartego na tym łączu - http://www.coderanch.com/t/434894/Android/Mobile/values – soclose
Nie mogę uzyskać wartości kodu PIN, mimo że pokazuje się gwiazdka. Opublikowałem mój zaktualizowany kod w moim poście. Sprawdź mój brakujący lub błędny punkt. – soclose