AlertDialoginput文本

我想使用AlertDialog作为login或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(); 

如何编码所有input文本将显示为'***' – 星号

虽然显示为星号,但我无法获取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" /> 

我input的值,但得到空!

怎么解决?

在这个语句中停止debugging。 当我指出上面popup显示mUserText空值。

String strPinCode = mUserText.getText()。toString();

我使用Android 1.6。 它取决于版本? :?:

  • 右对齐AlertDialog中的文本
  • closuresbutton单击自定义警报对话框
  • Android:具有自定义视图和圆angular的AlertDialog
  • 如何将checkbox添加到警报对话框
  • 为警报对话框设置Android Theme.Light
  • 为什么AlertDialog.Builder.setIcon不显示ic_menu_info图标?
  • 我怎样才能得到AlertDialog的结果?
  • 如何在AlertDialog中select单选项checkboxandroid?
  • EditText应该有android:password="true"

    检查这个链接。

    这个问题可以解决,而不使用弃用的android:password 。 在这里看到我的答案。

    更换:

     EditText rate = (EditText)findViewById((R.id.rate)); 

    附:

     EditText rate = (EditText)wind.findViewById((R.id.rate));