Не удается запросить Focus a Spinner

У меня неприятная проблема с экраном. Экран состоит из группы счетчиков один под другим, а затем под счетчиком - EditText.

Проблема в том, что при запуске экрана EditText находится в фокусе, а это означает, что некоторые счетчики находятся за пределами экрана. . Как бы я ни старался, я не могу сфокусировать начало верхнего Spinner, используя в XML-коде экрана или используя requestFocus () в коде. Я попытался сделать то, что предлагает requestFocus, пропуская следующий EditText , и, если я правильно следую предложению, он тоже не работает.

Чтобы воспроизвести проблему, создайте новый проект Android в Затмение. главный. xml:



       
        
    
    

Код действия:

package nz.co.kb.testspinner;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;

public class TestSpinner extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
//        setContentView(R.layout.main);
        View view = getLayoutInflater().inflate(R.layout.main, null);
        final View spinner = view.findViewById(R.id.spinner);
        view.post(new Runnable() {
            public void run() {
                spinner.requestFocus();
            }
        });
        setContentView(view);
        spinner.requestFocus();
    }
}

Обратите внимание на несколько стилей requestFocus.

Это ошибка платформы или я что-то делаю не так?

Спасибо.

11
задан Community 23 May 2017 в 12:26
поделиться