Java Android为什么关注第一要素?
Android是活动启动时的第一个焦点元素 布局更改时也会发生这种情况 所以,若设备在SoftInputMode为resize时使用EditText,那个么随着布局的改变,设备将失去焦点 但是,不能使用adjustPan,因为它需要resize属性 此外,您不能使用focusable和focusableInTouchMode,因为在布局更改时必须保持焦点 有没有办法指定第一个焦点?Java Android为什么关注第一要素?,java,android,android-activity,android-edittext,focus,Java,Android,Android Activity,Android Edittext,Focus,Android是活动启动时的第一个焦点元素 布局更改时也会发生这种情况 所以,若设备在SoftInputMode为resize时使用EditText,那个么随着布局的改变,设备将失去焦点 但是,不能使用adjustPan,因为它需要resize属性 此外,您不能使用focusable和focusableInTouchMode,因为在布局更改时必须保持焦点 有没有办法指定第一个焦点? 或者,当布局更改时,我可以保持焦点吗?例如,您可以使用requestFocus()方法对要更改的元素设置焦点 f
或者,当布局更改时,我可以保持焦点吗?例如,您可以使用
requestFocus()
方法对要更改的元素设置焦点
final TextView textView = (TextView) findViewById(R.id.textview);
textView.requestFocus();
我尝试过这种方法,但是我可以指定焦点,但是当布局改变时,我不能通过Android系统任意设置焦点。我无法保持焦点。请解释您到底想做什么,我将尝试解决您的问题。我无法使用EditText,因为当触摸EditText显示键盘时,布局发生更改时,焦点会更改为第一个元素。但是,请在Xml文件android:focusable=“false”中的EditText中添加此行,如果focusable为false,我不能使用EditText。如果您想使用xml进行聚焦,请使用“请避免仅发布代码”答案。请解释为什么这会有帮助。请求焦点用于在edittext框上自动设置键盘功能,以便在活动开始后,它将自动选择定义的请求焦点edittext并打开键盘,以便应用程序用户可以直接将数据插入edittext框。
EditText firsteditText=(EditText)findViewById(R.id.first);
firsteditText.requestFocus();