开发者

Android, using Edittext

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 开发者_如何学Pythonto 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.


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
            }
        });


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.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜