Приложение продолжает сбой с factTextView = findViewById код [дубликат]

10
задан George Mulligan 16 August 2017 в 02:36
поделиться

1 ответ

Activity не полностью инициализирован и готов к просмотру представлений до тех пор, пока onCreate() не будет вызван в onCreate().

Объявляйте только следующие поля:

private EditText usernameField, passwordField;
private TextView error;
private ProgressBar progress;
]

, а затем назначьте значения в onCreate:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_login);

    usernameField = (EditText)findViewById(R.id.username);
    passwordField = (EditText)findViewById(R.id.password);
    error = (TextView)findViewById(R.id.error);
    progress = (ProgressBar)findViewById(R.id.progress);
}

Не может быть частью проблемы, но в качестве дополнительной рекомендации, Timer запускает TimerTask на фоне нить, и этого следует избегать в этом случае. Вместо этого замените Timer на Handler, чтобы запустить его в потоке пользовательского интерфейса.

new Handler().postDelayed(new Runnable() {
        @Override
        public void run() {
            Intent intent = new Intent(SplashActivity.this, LoginActivity.class);
            startActivity(intent);
            finish();
        }
}, 1500);
47
ответ дан George Mulligan 16 August 2018 в 11:46
поделиться
  • 1
    Это не устранило проблему, но спасибо за Handler, хотя :) – user 16 April 2016 в 15:50
  • 2
    Хорошо, это должен быть правильный ответ на этот раз;) – George Mulligan 16 April 2016 в 16:03
  • 3
    Это точно! Большое спасибо: P На стороне примечания, я очень надеюсь, что Android Studio когда-нибудь даст более полезные и ясные сообщения об ошибках, чем это ... – user 16 April 2016 в 16:09
  • 4
    Я согласен с тем, что конкретная трассировка стека не очень помогает в определении того, как исправить эту проблему. Большинство других сообщений об ошибках вне обратных вызовов жизненного цикла и конфигурации проекта легче понять. – George Mulligan 16 April 2016 в 16:12
  • 5
    «Активность не полностью инициализирована и готова к просмотру представлений до тех пор, пока setContentView (...) не будет вызван в onCreate (). & quot; SPOT ON. спасибо – Suda.nese 6 February 2017 в 17:14
Другие вопросы по тегам:

Похожие вопросы: