启动活动的java动态意图参数
我想创建一个开始活动的方法。我不想每次都这样写:
Intent intent = new Intent(this, LoginActivity.class);
startActivity(intent);
相反,我想这样使用它:(使用1行而不是2行)
ShowActivity(LoginActivity);
使用如下自定义方法:
public void ShowActivity(Activity act)
{
Intent intent = new Intent(this, act.class);
startActivity(intent);
}
可能还会进一步超载:
public void ShowActivity(Activity act, boolean finish)
{
Intent intent = new Intent(this, act.class);
startActivity(intent);
if(finish)
CurrentActivity.this.finish();
}
无论如何,它给出了找不到符号的错误(顺便说一句,我不知道为什么它是找不到而不是找不到)。有可能这样做吗?如果有,这样做是否合理?(最后一个)如果是,为什么不嵌入一行方法来实现这一点
我是否认为这种方法太“C#ish”了,因为它是Java noob
提前谢谢
另外,我是一个Java和Android的noob,所以我甚至不确定问题的标题。我不知道如何问得更好,因此我无法正确搜索这个问题是否重复。如果是这样,道歉
# 1 楼答案
定义一个util类,如下所示:
然后你可以在任何活动中调用
ActivityUtil.showActivity(this, TargetActivity.class, true|false)
代码中有一些错误:
如果不想使用util类,还可以将活动类中的
showActivity()
定义为成员方法,建议在BaseActivity中定义它,这样就不需要在所有活动中重复它