在Android Activity中使用Variable作为类名

时间:2014-04-25 16:39:53

标签: android android-activity

我必须开始使用一些变量作为类名的活动。有解决方案吗?

public void something(int position) {

        someVar = "MyActivity"+position;

        startActivity(new Intent(Main.this,someVar.class));

}

3 个答案:

答案 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));

}