startActivity + .class结构

时间:2012-06-16 14:37:40

标签: android

是否可以将TargetActivity.class传递给另一个活动并执行以下操作:

// first activity 
intent.putExtra("target", TargetActivity.class);
startActivity(intent);

//second activity
startActivity(this, getIntent().getExtra(/*target*/);

2 个答案:

答案 0 :(得分:1)

你可以在intnet中作为字符串传递,并且可以使用Class.ForName ............

 Class t = Class.forName("java.lang.Thread") 

答案 1 :(得分:1)

试试这个

//第一项活动

intent.putExtra("target", "YOUR_PACKAGE_NAME.TargetActivity");
startActivity(intent);

//第二项活动

    String className=getIntent().getStringExtra("target");
    Intent intent = new Intent();
    try {
        intent.setClass(CurrentActivity.this, Class.forName(className));
        startActivity(intent);
    } catch (ClassNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } 

修改