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。 它取决于版本? :?:

Solutions Collecting From Web of "AlertDialoginput文本"

EditText应该有android:password="true"

检查这个链接。

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

更换:

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

附:

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