我在Android Studio中有一個設置活動,並且有一個密碼列表項,單擊時會提示EditTextPreference
與InputType
密碼對話。我該如何做到這一點,以便當用戶輸入密碼時,會彈出另一個對話框,要求用戶確認密碼更改。如何在SettingsActivity for Android中更改密碼提示確認?
甚至更好,我怎樣才能使EditTextPreference
多行提示輸入舊密碼,新密碼,在同一個對話框中確認新密碼?
我說在我的主要活動的onCreate
ListView lv;
Context ctx=this;
onCreate() {
lv = getListView();
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
if (position == 1) {
AlertDialog.Builder alertDialog = new AlertDialog.Builder(ctx);
alertDialog.setTitle("Values");
final EditText oldPass = new EditText(ctx);
final EditText newPass = new EditText(ctx);
final EditText confirmPass = new EditText(ctx);
oldPass.setTransformationMethod(PasswordTransformationMethod.getInstance());
newPass.setTransformationMethod(PasswordTransformationMethod.getInstance());
confirmPass.setTransformationMethod(PasswordTransformationMethod.getInstance());
LinearLayout ll = new LinearLayout(ctx);
ll.setOrientation(LinearLayout.VERTICAL);
ll.addView(oldPass);
ll.addView(newPass);
ll.addView(confirmPass);
alertDialog.setView(ll);
alertDialog.setPositiveButton("Yes",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
alertDialog.setNegativeButton("No",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
AlertDialog alert11 = alertDialog.create();
alert11.show();
}
}
});
}
以下但在應用程序的行爲沒有變化。我注重的listItem是第二次從頂部所以大概位置== 1
因此,對於這種解決方案,我必須重寫設置列表視圖的onItemClickListener才能啓動此對話框而不是默認的對話框? – Alex
是的,你可以使用任何你想要的。 'onItemClickListener'中的 –
從'Listitem'獲取密碼,並將其設置爲oldPassword,如果需要,顯示對話框 –