意图并从字符串开始活动

use*_*569 5 android android-activity

我有一点问题.我想以其他方式开始活动.我知道

Intent i = new Intent(this, ActivityTwo.class); 
Run Code Online (Sandbox Code Playgroud)

初始化意图,之后我可以startActivity.但我想做那样的事情:

Intent i = new Intent(this, MyString.class);
Run Code Online (Sandbox Code Playgroud)

我没有nameActivity.class,但我想在string.class上进行更改.当我有类的字符串名称时,如何启动活动?

PaN*_*TEC 7

试试这个: startActivity(this, Class.forName(yourStringClass));


jlo*_*pez 6

这是一个代码,您可以使用该活动的名称开始活动

Class<?> c = null;
if(StringClassname != null) {
    try {
        c = Class.forName(StringClassname );
    } catch (ClassNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}
Intent intent = new Intent(mail.this, c);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)

这里的类名将是包名称的类的全名.例如,如果您的包名称为xyz,并且您的活动名称为A,那么活动A的全名将为xyzA