我在这个函数中注释了几行代码,因为我不确定它们的用途是什么。然而,当我运行我的Android应用程序时,一切都完美无缺...所以我认为我不需要它们,它们在我的项目中没有用处。
private void deleteRoutine() {
myDb.deleteRoutineForCurrentDay(currentDay);
Intent intent = getIntent();
//intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
//finish();
//overridePendingTransition(0, 0);
startActivity(intent);
MediaPlayer mymedia = MediaPlayer.create(MondayRoutineEdit.this, R.raw.clearroutine);
mymedia.start();
}
}
public void deleteRoutineForCurrentDay(String selectedDay)
{
SQLiteDatabase db = this.getWritableDatabase();
db.execSQL("DELETE FROM " + RoutineTable + " WHERE DayOfWeek ='" + selectedDay + "'");
}
答案 0 :(得分:0)
//intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
这是Intent所说的: -
如果在传递给Context.startActivity()的Intent中设置,则此标志将为 阻止系统将活动转换动画应用于 进入下一个活动状态。
您可能希望查看此Android - How to stop animation between activity changes。
我建议在正常情况下省略这不是问题。但是,决定可能取决于您如何对上述代码进行编码。如果你基本上复制了一个应用程序,那么可能有充分的理由使用这些代码。如果你要复制部分代码,那么最好省略它。
//finish();
如果您使用上述内容,它将从堆栈中删除活动,这可能会导致您遇到问题,例如使用后退按钮不会将您带回此活动(因为它现在不存在于堆栈中)并且可能会使最终用户感到困惑。如果您基本上复制了整个应用程序,那么它可能已被包含在一个充分的理由中。如果您只是复制了代码块或基于您的代码,那么您可能想要省略它。
您可能希望查看finish以及活动的其余部分。
//overridePendingTransition(0, 0);
这在Android中讨论 - 如何在活动更改之间停止动画。链接上面。您可能还希望看一下overridePendingTransition。 是否省略基本相同,可能取决于代码的来源。