2

我有几个 LinearLayouts 包含在它们各自的 ScrollView 中,而这些 ScrollView 又包含在 ViewFlipper 中。奇怪的是,在某些布局中,一旦获得焦点,它就会在顶部以外的位置自动启动。

那么是什么原因造成的呢?为了强制它们从顶部开始,是否有类似 html 中的 tabindex 属性的东西?

谢谢

4

1 回答 1

0

如果您有问题,称为焦点自动消失在其他位置而不是顶部位置的字段上,那么您必须在活动生命周期的 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();
    }
}
于 2017-06-07T09:20:37.890 回答