Hi fellow Android fans ;)
Im pretty new to coding with Android and even Java and i am having a
hard time trying to return a result from a private method that holds
an onClickListener. My Activity has two EditText for entering a new
password. On clicking OK the old password should be checked and
entered via a dialog and the new password should be set. My code looks
as following (excerpt):
My Activity calls on click of OK Button the method savePrefs():
private void savePrefs(){
String pass1 = mTextPass1.getText().toString();
String pass2 = mTextPass2.getText().toString();
SharedPreferences settings = getSharedPreferences(FILE, 0);
SharedPreferences.Editor editor = settings.edit();
oldpass = settings.getString("Password", null);
if (pass1.equals(pass2)){ //EditText
matching?
if (oldpass != null) { //Old
Password
set?
if ( makeCDialog() ){ //
allowing setting up new
Password?
editor.putString("Password", pass1);
editor.commit();
Toast.makeText(this,"Set new Password
successful", 1).show();
} else {
Toast.makeText(this,"No Changes made",
2).show();
}
private boolean makeCDialog(){
// Setting up the dialog
dia = new Dialog(this);
dia.setContentView(R.layout.checkpw);
dia.setTitle("Bitte geben Sie das alte PW ein");
//Setting up EditText
pwentry = (EditText) dia.findViewById(R.id.checkpw_entry);
pwentry.setBackgroundColor(Color.WHITE);
pwentry.setTextColor(Color.BLACK);
// Setting up OK and Cancel Button
Button checkpw_cancel = (Button)
dia.findViewById(R.id.checkpw_cancel);
Button checkpw = (Button) dia.findViewById(R.id.checkpw);
checkpw.setOnClickListener(new View.OnClickListener()
{
public void onClick(View view)
{
String checkoldpass = pwentry.getText().toString();
if (oldpass.equals(checkoldpass)){
// Allow setting new Password
} else {
// Do not allow setting new Password
}
dia.dismiss();
}
});
checkpw_cancel.setOnClickListener(new View.OnClickListener(){
public void onClick(View view){
dia.dismiss();
}
});
dia.show();
}
At the point saying "// Allow setting new Password" the method
makeCDialog should return true, but i cannot call it from within the
onClick. How do I do this or am I going the wrong way?
I was trying to make the makeCDialog() a void method, but then the
actual savePrefs() continues without waiting for the makeCDialog to
set (for example) a boolean.
Thanks for your efforts
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Beginners" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/android-beginners?hl=en
-~----------~----~----~----~------~----~------~--~---