Kullanıcının bir parola girmesini isteyen bir iletişim kutusu görüntülemek için bir AlertDialog.Builder kullanıyorum, daha sonra bu parolayı bir tercihte kaydetmek istiyorum, ancak uyarı iletişim kutusunun girişinden nasıl sonuç alacağımı anlayamıyorum yöntem. Ben o zaman onCreateDialog(int)
yöntemini kullanarak showDialog(int);
gibi bir şey yapıyor ve bir şekilde sonuca ayarı ve bazı onu almaya açığımBir AlertDialog'dan sonuçları nasıl alabilirim?
String result;
AlertDialog.Builder b = new AlertDialog.Builder(this);
b.setTitle("Please enter a password");
final EditText input = new EditText(this);
b.setView(input);
b.setPositiveButton("OK", new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface dialog, int whichButton)
{
//I get a compile error here, it wants result to be final.
result = input.getText().toString();
}
});
b.setNegativeButton("CANCEL", null);
b.create().show();
Ancak: Burada
ben yapabilmek istiyorum aslında ne Diğer yöntem, ama son kısım hakkında nasıl gideceğimi bilmiyorum.
Üzgünüm veya ben başarmak için çalışıyorum başarmak için kullanabilir nasıl:
Olarak aşağıdaki kodları @finiteloop düzenleyin. – finiteloop
@segfault, cevabımı düzenledim – evilone
evilone, Observer şablonunu kullanmanızı ve kendi dinleyicinizi (TextListener) oluşturmanızı öneriyor.Bu AlertDialog'u barındıran Etkinliğiniz, daha sonra AlertDialog'un dışındaki onPositiveResult (CharSequence) öğesini çağıran TextListener'ı uygulayabilir ve sorunuzu temel alarak aradığınız sonuçtan geçer. Ardından sonucunuza istediğiniz gibi hareket edebilirsiniz. Doğru cevap için –