0

为了简化一些代码,我想知道是否可以参数化在 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”事件

显示活动(设置);

或者

显示活动(域);

这将在我的应用程序中节省大约 40-50 行代码。显然我知道上面的代码是不正确的,但我不确定是否可以做我想要完成的事情。

4

2 回答 2

2

怎么样:

public <T> void showActivity(View view, Class<T> activity) {
    Intent activityName = new Intent(MainActivity.this, activity);
    startActivity(activityName);
}

你可以调用它

showActivity(Settings.class);
于 2012-05-22T23:42:55.627 回答
1

我建议使用 ACTIONs (String) 而不是准确指定上下文和类。这样你甚至可以在应用程序之间共享活动,如果你决定切换到不同的活动类,你可以只编辑android清单,而不是编辑所有调用这个活动的java源代码。

于 2012-05-23T00:29:36.293 回答