我必须开始使用一些变量作为类名的活动。有解决方案吗?
public void something(int position) {
someVar = "MyActivity"+position;
startActivity(new Intent(Main.this,someVar.class));
}
答案 0 :(得分:1)
如果没有太多活动,您可以随时执行此操作:
Class myclass;
Switch(position){
case 1:
myclass = Activity1.class;
break;
case 2:
myclass = Activity2.class;
break;
case 3:
myclass = Activity3.class;
break;
}
startActivity(new Intent(Main.this,myclass));
答案 1 :(得分:0)
您实际上并不需要正在开始的活动的class
。您可以使用setClassName
:
Intent i = new Intent();
i.setClassName(this, "MyActivity" + position);
startActivity(i);
答案 2 :(得分:0)
您可以使用反射来获取类类型。只需确保在包中包含包名称。
public void something(int position) throws ClassNotFoundException {
Class<?> theClass = Class.forName("com.example.Activity" + position);
startActivity(new Intent(this, theClass));
}