AlertDialogをログインまたはPINコードまたはパスワードダイアログとして使用したいのですが。これが私のコードです-
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();
すべての入力テキストが「***」のように表示されるようにコーディングする方法-アスタリスク
アスタリスクで表示されていますが、PINコード値を取得できません。私のコードは以下です
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" />
値を入力しましたが、nullになります!
の解き方?
このステートメントでデバッグが停止します。上記のmUserText null値をポイントすると、ポップアップに表示されます。
文字列strPinCode = mUserText.getText()。toString();
Android 1.6を使用しています。バージョンによって異なりますか?:?:
あなたEditText
にはAndroid:password="true"
。
this リンクを確認します。
この問題は、廃止されたAndroid:password
を使用しなくても解決できます。私の答えを見てください ここ 。