在创建新的Intent以启动新活动时,活动是否可以自行调用,这是一种很好的程序技术。例如,假设我有一个活动模板,并且为了避免进行10个不同的活动,是否可以自己调用相同的活动?
答案 0 :(得分:8)
是的。如果您的要求是那样的,那么这样做是没有害处的。如果你使用它,那么别忘了调用finish()。 finish()将从backstack中删除活动,因此当您按下时不会返回到之前的相同活动实例。
startActivity(new Intent(MyClass.this,MyClass.class));
finish();
答案 1 :(得分:4)
是的你可以这样做,但是你应该考虑onBackPressed()行为,因为你不希望当用户继续按下时从你的堆栈中出现相同的活动。 你可以使用intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);确保只创建一个具有相同活动的实例。