Я пытаюсь разделить часть своей java на несколько разных файлов.

У меня есть основной класс:

public class StartPage extends Activity {
    ...
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_start_page);
    }
    ...
}

И еще у меня есть еще один класс, который я хотел бы запустить в том же макете:

public class part_settings_session extends Activity {
    ...
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_start_page);
        Toast.makeText(getApplicationContext(), "This is from settings", Toast.LENGTH_SHORT).show();
    }
    ...
}

Но я не могу видеть, чтобы тост произошел где-нибудь и в любое время. Есть ли способ заставить оба этих класса работать в двух отдельных файлах? Это сделано для того, чтобы организовать сценарии ради меня самого.

ntgCleaner

Ответов: 2

Ответы (2)

Два Activity не могут быть видны одновременно, и здесь в вашем коде вы определили два Activity с одинаковым макетом. Ваш код в порядке, но чтобы увидеть, как работают оба действия, вам нужно вручную запустить следующее действие. Код ниже поможет вам. Этот код запустит следующее действие через 3 секунды после загрузки первого действия.

new Handler().postDelayed(new Runnable() {
        @Override
        public void run() {

            startActivity(new Intent(StartPage.this, NextPage.class));
            finish();
        }
}, 3000);

в вашем onCreate () для 2-го класса поместите Log.d ("part_settings_session", "onCreate"); и посмотрите, вызывается ли когда-нибудь onCreate в первую очередь. (Поскольку они используют один и тот же макет, может быть трудно увидеть, действительно ли вы создаете экземпляр ЭТОГО класса.

Я предполагаю, что вы, возможно, даже не создаете экземпляр класса part_settings_session. А без логирования это сказать довольно сложно.

Вот хороший базовый класс Activity, который будет регистрировать все события жизненного цикла за вас

https://github.com/douglascraigschmidt/CS282/blob/c5cf5c4808ea082988ab87c00eeade4837eac967/assignments/assignment1/src/edu/vandy/common/LifecycleLoggingActivity.java

2022 WebDevInsider