For all who dont want to read all the above, here is what i want to:

private boolean makeCDialog() creates a customized Dialog with an
EditText and OK / Cancel.

On pressing ok (so in the OnClickListener) the whole method should
return either TRUE or FALSE. Since the onClickListener is something
like an inner class I think, i cannot return a result. Hopefully you
can understand this..

On Oct 12, 11:52 am, niels <[EMAIL PROTECTED]> wrote:
> 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 android-beginners@googlegroups.com
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to