Java Android在一个布局中使用两个类

Java Android在一个布局中使用两个类,java,android,Java,Android,我正在尝试将我的一些java分离到几个不同的文件中 我有我的主要课程: public class StartPage extends Activity { ... @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_start_pa

我正在尝试将我的一些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();
    }
    ...
}
但我不能在任何地方或任何时候看到吐司发生。有没有办法让这两个类在两个单独的文件中工作?这是为了我自己而组织脚本。

在第二个类的onCreate()中,放置一个
Log.d(“part\u settings\u session”,“onCreate”)
并查看onCreate是否在第一时间被调用。(因为它们使用相同的布局,所以可能很难看到您是否“实际”创建了此类的实例

我的猜测是,您甚至可能没有创建part_settings_session类的实例。如果没有日志记录,很难判断这一点

下面是一个很好的活动基类,它将为您记录所有生命周期事件


两个活动不能同时可见,您在代码中定义了两个布局相同的活动。您的代码很好,但要看到两个活动都正常工作,您必须手动启动下一个活动。下面的代码将帮助您。此代码将在加载第一个活动3秒钟后启动下一个活动

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

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

代码看起来很好。你试过调试它吗?一次只能看到一个活动。仅仅因为它们具有相同的布局并不意味着所有具有相同布局的活动都被加载。你需要实际启动该活动,以查看toast。@Tauqir,我对这一点还是很陌生,所以我正在尝试一行一行地解决它。我为需要提到的是,我已经在StartPagei中包含了part_settings_session layout(部分设置会话布局)。有没有一种方法可以对多个类执行此操作?@ntgCleaner此代码将帮助您延迟启动下一个活动,这里下一个活动是使用intent启动的。要对多个类执行此延迟,您应该在eac中编写此代码h类,在该类中,您希望在延迟一段时间后调用另一个类。