我如何将泛型类作为param传递给Intent构造函数

时间:2013-03-21 18:02:59

标签: java android generics

我在Android应用程序中有这个通用活动

public class NavegadorActivity<T> extends Activity {

    ....
...
}

我试图将其称为

Intent intent = new Intent(v.getContext(), NavegadorActivity<Clientes>.class);

但是,Intent构造函数不接受通用类作为param。然后我尝试了这段代码

Class<NavegadorActivity<Clientes>> NavClientes =  NavegadorActivity.class;

Intent intent = new Intent(v.getContext(), NavClientes.class);

哪个也不起作用。

也不是这个

Class<NavegadorActivity<Clientes>> NavClientes =  NavegadorActivity<Clientes>.class;

Intent intent = new Intent(v.getContext(), NavClientes.class);

任何人都知道如何将泛型类作为param传递给Intent构造函数?

由于

2 个答案:

答案 0 :(得分:2)

我不相信Android Intent System支持Generic活动,你不应该只创建一个自己的活动对象。我建议在活动中添加一个代表通用功能的内部类,并通过

传递该通用名称
intent.putExtraString("class", yourClass.getName());

通过

检索该类对象
Class<?> myGeneric = Class.forName(intent.getStringExtra("class", "java.Object");

答案 1 :(得分:1)

有什么问题
Intent intent = new Intent(v.getContext(), NavegadorActivity.class);