路由跳转
ARouter.getInstance().build("/main/home").navigation();
((LoginActivity)getContext()).finish();
router携带参数
ARouter.getInstance().build("/user/login").withBoolean("params", true).navigation();
((HomeActivity)getContext()).finish();
Intent跳转
Intent intent = new Intent(Utils.getActivity(LoginView.this), UserlistActivity.class);
Utils.getActivity(LoginView.this).startActivity(intent);
Intent携带参数
Intent intent=new Intent(SpendingActivity.this,ExpenseProcesActivity.class);
intent.putExtra("strType", 0);
SpendingActivity.this.startActivity(intent);
在目标页面的activity中,获取参数
final Intent intent = getIntent();
type = intent.getIntExtra("strType", 0);
两个没有依赖关系的Moudle,它们之间的页面该如何跳转呢?
假如有 module1 和 module2,之间没有依赖关系。AActivity(包名:com.test) 属于 moudle1;BActivity(包名:con.test) 属于 module2。从 A 页面跳转到 B 页面,我们可以使用如下方式:
startActivity(new Intent(this, Class.forName("com.test.BAcctivity")))
// 或者
Intent i = new Intent();
i.setComponent(new ComponentName("com.test", "com.test.BActivity"));
startActivity(i);
调用返回按钮方法
Utils.getActivity(this).onBackPressed();
从A到B,然后从B返回A时(返回上一个activity),并携带参数
(只描述从B返回A的代码)
- 在B的Activity中
Intent intent = new Intent();
intent.putExtra("isSubmit", true);
Utils.getActivity(this).setResult(0, intent);
Utils.getActivity(this).finish();
- 在A的Activity中
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode){
case 0:
boolean isSubmit = data.getBooleanExtra("isSubmit", false);
if (isSubmit) {
mView.checkNextDevice(currentIndex);
}
default:
}
}
|