0

我对android开发很陌生。我的应用程序有很多视图/活动,用户可以根据他/她的输入从一个视图跳到另一个视图。所以我想创建一个接口 IView 它将具有一个功能

void openNewView(Class viewClass);

视图类中的函数看起来像这样

public void openNewView(Class viewClass)
{
    Intent intent = new Intent(this, viewClass.class);
    startActivity(intent);
}

整个想法是我的控制器可以监听用户输入,然后根据要求调用 openNewView。

我面临的问题是 java 不接受 Class 类型的参数

我在这里做错了什么。是否有解决我想要实现的目标的工作。

4

2 回答 2

0

一种好的方法是从这样的抽象 Activity 扩展您的所有活动:

public abstract class BaseActivity {

    //....
    public void openNewView(Class viewClass) {
        Intent intent = new Intent(this, viewClass.class);
        startActivity(intent);
    }
}

这样做,您不必在每个活动中复制代码并保持代码清洁。

于 2012-06-28T07:57:33.237 回答
0

尝试在 openNewView 方法中添加当前上下文参数:

void openNewView(Class viewClass,context);

并在您的功能中:

public void openNewView(Class viewClass,Context context)
{
    Intent intent = new Intent(context, viewClass.class);
    context.startActivity(intent);
}
于 2012-06-28T07:52:20.433 回答