Вкладка Android

У меня есть несколько LinearLayouts, содержащихся внутри их соответствующих ScrollView, которые, в свою очередь, содержатся в ViewFlipper. Странно то, что в некоторых макетах, когда они получают фокус, он автоматически запускается в другом месте, кроме верхнего.

Так что может быть причиной этого? Чтобы заставить их начинать сверху, есть ли что-то вроде свойства tabindex в html?

Спасибо


person xain    schedule 16.05.2011    source источник


Ответы (1)


если у вас есть проблема, вызванная тем, что фокус автоматически уходит в другое место, а не в поле верхней позиции, тогда вы должны написать этот код просто в методе onStart() жизненного цикла активности с соответствующим идентификатором поля, в моем случае на первое поле ссылается 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();
    }
}
person Nikul Vaghani    schedule 07.06.2017