大家好,我正在使用kotlin,并且在viewpager中有一些片段。现在我想从一个活动中打开一个fragmnet。就像我单击活动按钮一样,所有previos活动都将关闭,而Main活动将在片段所在的位置打开。但是问题是我想从那里打开一个特定的片段。
这是我到目前为止所做的:
此代码转到片段所在的主要活动:
binding.btnGoToProj.setOnClickListener {
finish()
val i = Intent(this, MainActivity::class.java)
intent .putExtra("openF2",true)
i.flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK
startActivity(i)
并且“主要活动”的onCreate内的这段代码应该打开myprojectsfragmentcu,并且不起作用。这里的R.id.old是Main Activity中第一个片段的ID,我想打开第二个片段,所以我用someFragment用ID“ old”替换了片段:
val extras = intent.extras
if (extras != null && extras.containsKey("openF2")) {
val openF2 = extras.getBoolean("openF2")
if (openF2) {
val someFragment = MyProjectsFragmentCu()
val manager = supportFragmentManager val transaction = manager.beginTransaction()
transaction.replace(
R.id.old,
someFragment
)
transaction.addToBackStack(null)
transaction.commit()
}
}
请告诉我我在做什么错。谢谢!