我试图找出我们是否可以创建一个通用方法来在活动之间切换,在这样做时我想将代码编写为:
private fun goToActivity(activity: AppCompatActivity){
val intent = Intent(this, activity::class.java)
startActivity(intent)
}
调用方法
goToActivity(MainActivity2())
这是做这件事的好方法还是任何其他方法可以节省一次又一次重写“goToActivity”中编写的代码片段?
试试这个。下面将满足您的所有需求。
/**
* @param context Context fromactivity or fragment
* @param bundle Bundle of values for next Activity
* @param destinationClass Destination Activity
* @param isFinish Current activity need to finish or not
*/
public void newIntent(Context context, Class destinationClass, Bundle bundle, boolean isFinish, boolean isFlags) {
if (!isActivityRunning(context)) {
return;
}
Intent intent = new Intent(context, destinationClass);
intent.putExtras(bundle);
if (isFlags) {
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
}
context.startActivity(intent);
if (isFinish) {
((Activity) context).finish();
}
}
CommonFunctions.getInstance().newIntent(OrdersActivity.this, HomeActivity.class, Bundle.EMPTY, true,true);
像这样使用捆绑包
Bundle bundle = new Bundle();
bundle.putString("name", "");
CommonFunctions.getInstance().newIntent(this, CartViewActivity.class, bundle, false, false);