我正在设计一个登录页面:
UserName: .....
Password: .....
LoginButton
当活动开始时,我希望焦点转到“UserName”文本框并显示键盘。
我使用以下代码:
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);
}
我不明白在编写此代码的位置,以便在活动开始时显示键盘,并且焦点位于“UserName”editText框中。有人可以指导我吗?
答案 0 :(得分:165)
编程方式:
edittext.requestFocus();
通过xml:
<EditText...>
<requestFocus />
</EditText>
或手动调用onClick方法。
答案 1 :(得分:25)
是的,我得到了答案..只需将manifest
文件编辑为:
<activity android:name=".MainActivity"
android:label="@string/app_name"
android:windowSoftInputMode="stateAlwaysVisible" />
并在EditText.requestFocus()
..
onCreate()
谢谢..
答案 2 :(得分:4)
youredittext.requestFocus()
从活动中调用它
oncreate();
并在那里使用上面的代码
答案 3 :(得分:2)
它对我有用,如下所示。
ed1.requestFocus();
return; //Faça um return para retornar o foco
答案 4 :(得分:0)
edittext.requestFocus()
适用于我的Activity
和Fragment
答案 5 :(得分:0)
$('.best-photos-button').html("Add More Photos");
答案 6 :(得分:0)
设置为清单中的活动:
android:windowSoftInputMode="adjustResize"
设置焦点,当视图准备好时:
fun setFocus(view: View, showKeyboard: Boolean = true){
view.post {
if (view.requestFocus() && showKeyboard)
activity?.openKeyboard() // call extension function
}
}
答案 7 :(得分:0)
禁用软键盘(仅启用外部键盘),我通过移动 EditText 末尾的光标来修复它:
editText.setSelection(editText.getText().length)