为了简化一些代码,我想知道是否可以参数化在Android应用程序中启动活动的代码,这样就可以代替5
public void showSettings(View view) {
Intent SettingsActivity = new Intent(MainActivity.this, Settings.class);
startActivity(SettingsActivity);
我可以做类似以下的事情
public void showActivity(View view, String ActivityName) {
Intent ActivityName = new Intent(MainActivity.this, ActivityName.class);
startActivity(ActivityName);
然后,对于UI中的每个按钮,我只需将以下内容应用于“onclick”事件
showActivity(设置);
或
showActivity(结构域);
这样可以在我的应用中节省大约40-50行代码。显然我知道上面的代码是不正确的,但我不确定是否可以做我想要完成的事情。
答案 0 :(得分:2)
如下:
public <T> void showActivity(View view, Class<T> activity) {
Intent activityName = new Intent(MainActivity.this, activity);
startActivity(activityName);
}
您可以使用
调用它showActivity(Settings.class);
答案 1 :(得分:1)
我建议使用ACTIONs(String),而不是准确指定上下文和类。这样你甚至可以在应用程序之间共享活动,如果你决定切换到不同的活动类,你只能编辑android清单,而不是编辑所有java源代码调用这个活动。