1

I've got a few questions about edittext..

I'm trying to create a login screen on Android. I'm taking in a username and a password and then sending the results to another method. I've just got a few questions about it...

1) If I have two edittext's and the user enters values in both and then hits a "login" button, I want the button to take the values that were entered in the 2 edittext boxes, convert and save them to a string and then pass them to a function. I'm unsure how I'd construct this button. The problem I'm having is making it a string I'm currently doing this..

String user = edittext.getText();

But that doesn't seem to work. Also I'm unsure what way Android saves Edittext inputs.. Will it just automatically save it to the string once the user is no longer working out of the box? e.g will...

 public boolean onKey(View v, int keyCode, KeyEvent event) {
            String user = edittext.getText();

        } 

work? If not how would I define it?

Thanks.

1
  • Learn how to use EditText in android Apps development,here Commented Mar 9, 2016 at 18:34

2 Answers 2

3

You have to subscribe for the onClick event of the button, then simple get the text from the EditText

You don't need to run code on the onKey event of EditText

(Button) findViewById(R.id.btnName)).setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                //called when you press the button
                String user =((EditText) findViewById(R.id.txtUser)).getText().toString();
                String password =((EditText) findViewById(R.id.txtPassword)).getText().toString();
                // do the rest of the job
            }
        });
Sign up to request clarification or add additional context in comments.

Comments

2

Essentially this is what you want to do

String userName = "";
String password = "";
EditText userEdit = (EditText)findViewById(R.id.useredit);
EditText passEdit = (EditText)findViewById(R.id.passedit);
Button okButton = (Button)findViewById(R.id.okButton);
okButton.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
        userName = userEdit.getText().toString();
        password = passEdit.getText().toString();
        }
    });

Instead of using onKeyDown(...) you should register an on-click listener for your button and define its behavior there. Strangely enough you actually have to put .toString() after .getText() in order to store the text.

I would also suggest making all of your views (fields, buttons, images, ect) member variables so your references are persistent.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.