android - 无法从主要活动的 onCreate() 开始新活动
问题描述
DirectorySelectionActivity
如果应用程序是第一次立即从主要活动启动,但我的主要活动的onCreate()
功能没有像我预期的那样启动新活动,我想开始一个新活动。相反,我的主要活动完成了它的onCreate()
功能,只有在完成该oncreate()
功能后,它才会移动到我的DirectorySelectionActivity
. 在完成 onCreate() 之前,如何在主要活动的 onCreate() 函数中间移动到新活动?这就是我所拥有的:
MainActivity.java
public class MainActivity extends AppCompatActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_fragment);
// If this is the first time user has run this app
if(true){ // for testing
Intent intent = new Intent(this, DirectorySelectionActivity.class);
/* I've also tried:
Intent intent = new Intent(MainActivity.this, DirectorySelectionActivity.class);
*/
startActivity(intent);
// Also tried:
//this.startActivity(intent);
}
// This happens before my DirectorySelectionActivity activity gets started
FragmentManager fm = getSupportFragmentManager();
Fragment fragment = fm.findFragmentById(R.id.fragment_container);
if (fragment == null) {
fragment = createFragment();
fm.beginTransaction().add(R.id.fragment_container, fragment).commit();
}
}
}
DirectorySelectionActivity.java
public class DirectorySelectionActivity extends AppCompatActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_fragment);
FragmentManager fm = getSupportFragmentManager();
Fragment fragment = fm.findFragmentById(R.id.fragment_container);
if (fragment == null) {
fragment = SelectUnwantedDirsFragment.newInstance();
fm.beginTransaction().add(R.id.fragment_container, fragment).commit();
}
}
}
解决方案
如果您setContentView(R.layout.activity_fragment);
从您MainActivity
的 's中删除,onCreate()
则它不会显示。
但是,如果您希望它在某个时候出现怎么办?
我建议使用布尔标志,如
if (flag) {
setContentView(R.layout.activity_fragment);
}
推荐阅读
- wordpress - 在 WordPress 自定义分类页面中显示静态文本,直到自定义文本被保存
- html - 引导网格在一行中对齐 2 个 div 一个在页面中心另一个在右侧
- awk - 如何在 awk 或 csh 中按组打印?
- ffmpeg - 如何解决:找不到 FFmpeg
- r - 如何使用反应函数在 R Shiny 中创建 DF
- java - 如何使用 Apache Batik SVG 1.8 将形状渲染属性设置为 crispEdges
- python - 在 Keras 中扩展张量
- reporting-services - 如何在组标题 SSRS 报告中插入列
- bash - 如果成功,如何构建 shell 脚本来构建 Docker-Compose 映像并启动 Docker 容器?
- oracle - Oracle:在 UNION 语句 ORA-00932 中,clob 列与自身不一致