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

那么是什么原因造成的呢?为了迫使它们从顶部开始,是否在html中有类似tabindex属性的内容?

谢谢

最佳答案

如果您有一个问题,即焦点自动移到了其他位置而不是顶部位置的字段上,那么您只需要在活动生命周期的onStart()方法中编写此代码,并在我的案例中使用相应的字段ID
由firstfield_et引用,这是Activity.java文件的变量,并且它也已经由.xml文件的etfirstfield引用。

代码简单如下:

@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();
    }
}

关于android - Android“tabindex”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6022833/

10-10 16:03