Android жизненный цикл активности перепутан между вызовами функций - PullRequest
0 голосов
/ 20 апреля 2020

Когда я запускаю это приложение, я сначала получаю «При возобновлении» вместо «При запуске», даже когда «При создании» не появляется, скажите, пожалуйста, почему? и тост «При перезапуске» не отображается, но тест обновляется.
publi c класс MainActivity расширяет AppCompatActivity {

    public int test=0;
    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Toast t=Toast.makeText(getApplicationContext(),"On create",Toast.LENGTH_SHORT);
        t.setGravity(Gravity.CENTER_VERTICAL,20,20);
        t.show();
    }

    @Override
    protected void onRestart() {
        super.onRestart();
        Toast t=Toast.makeText(getApplicationContext(),"On restart",Toast.LENGTH_LONG);
        t.setGravity(Gravity.CENTER_VERTICAL,20,20);
        TextView num=(TextView) findViewById(R.id.textNum);
        test++;
        num.setText(String.valueOf(test));
        t.show();
    }

    @Override
    protected void onStart() {
        super.onStart();
        Toast.makeText(getApplicationContext(),"On start",Toast.LENGTH_SHORT).show();
    }
    @Override
    protected void onResume() {
        super.onResume();
        Toast t=Toast.makeText(getApplicationContext(),"On resume",Toast.LENGTH_SHORT);
        t.setGravity(Gravity.CENTER_VERTICAL,10,20);
        t.show();
    }

    @Override
    protected void onPause() {
        super.onPause();
       Toast t= Toast.makeText(getApplicationContext(),"On Pause",Toast.LENGTH_SHORT);
       t.setGravity(Gravity.CENTER_VERTICAL,20,20);
       t.show();
    }

    @Override
    protected void onStop() {
        super.onStop();
        Toast.makeText(getApplicationContext(),"On Stop",Toast.LENGTH_SHORT).show();
    }


    @Override
    protected void onDestroy() {
        super.onDestroy();
        Toast.makeText(getApplicationContext(),"On destroy",Toast.LENGTH_SHORT).show();
    }
}

1 Ответ

0 голосов
/ 06 мая 2020

Использование Toast в качестве метода отладки - действительно плохая идея. Используйте логирование и посмотрите на свою logcat. Вы увидите, что методы вызываются в том порядке, в котором они должны. Только не делай этого.

...