EditText request focus

2019-01-14 14:50发布

I am designing a login page as:

UserName:  .....

Password:  .....

     LoginButton

When the activity starts, I want the focus to go to "UserName" textbox and the keyboard to appear.

I am using the following code:

    boolean checkFocus=user.requestFocus();
    Log.i("CheckFocus", ""+checkFocus);
    if(checkFocus==true)
    {
    InputMethodManager mgr = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
    mgr.showSoftInput(user, InputMethodManager.SHOW_IMPLICIT);
    }

I don't understand where to write this code to make the keyboard appear when the activity starts and focus is on the "UserName" editText box. Can anyone please guide me?

5条回答
欢心
2楼-- · 2019-01-14 15:08

youredittext.requestFocus() call it from activity

oncreate();

and use the above code there

查看更多
我欲成王,谁敢阻挡
3楼-- · 2019-01-14 15:24

Programatically:

edittext.requestFocus();

Through xml:

<EditText...>
    <requestFocus />
</EditText>

Or call onClick method manually.

查看更多
走好不送
4楼-- · 2019-01-14 15:27

It has worked for me as follows.

ed1.requestFocus();

            return; //Faça um return para retornar o foco
查看更多
唯我独甜
5楼-- · 2019-01-14 15:30

Yes, I got the answer.. just simply edit the manifest file as:

        <activity android:name=".MainActivity"
        android:label="@string/app_name"
        android:windowSoftInputMode="stateAlwaysVisible" />

and set EditText.requestFocus() in onCreate()..

Thanks..

查看更多
爱情/是我丢掉的垃圾
6楼-- · 2019-01-14 15:33

edittext.requestFocus() works for me in my Activity and Fragment

查看更多
登录 后发表回答