我有几个 LinearLayouts 包含在它们各自的 ScrollView 中,而这些 ScrollView 又包含在 ViewFlipper 中。奇怪的是,在某些布局中,一旦获得焦点,它就会在顶部以外的位置自动启动。
那么是什么原因造成的呢?为了强制它们从顶部开始,是否有类似 html 中的 tabindex 属性的东西?
谢谢
我有几个 LinearLayouts 包含在它们各自的 ScrollView 中,而这些 ScrollView 又包含在 ViewFlipper 中。奇怪的是,在某些布局中,一旦获得焦点,它就会在顶部以外的位置自动启动。
那么是什么原因造成的呢?为了强制它们从顶部开始,是否有类似 html 中的 tabindex 属性的东西?
谢谢
如果您有问题,称为焦点自动消失在其他位置而不是顶部位置的字段上,那么您必须在活动生命周期的 onStart() 方法中使用相应的字段 id 编写此代码,在我的情况下,第一个字段由 firstfield_et 引用这是Activity.java 文件的变量,etfirstfield 也已经从 .xml 文件中引用了它
代码如下:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
EditText firstfield_et= (EditText) findViewById(R.id.etfirstfield);
}
@Override
protected void onStart() {
super.onStart();
if(TextUtils.isEmpty(firstfield_et.getText().toString())){
firstfield_et.requestFocus();
}
}