我有一个小问题。我想以其他方式开始活动。我知道
Intent i = new Intent(this, ActivityTwo.class);
初始化意图,然后我可以startActivity
。但我想做这样的事情:
Intent i = new Intent(this, MyString.class);
我没有nameActivity.class
,但我想更改 string.class。当我有类的字符串名称时如何开始活动?
我有一个小问题。我想以其他方式开始活动。我知道
Intent i = new Intent(this, ActivityTwo.class);
初始化意图,然后我可以startActivity
。但我想做这样的事情:
Intent i = new Intent(this, MyString.class);
我没有nameActivity.class
,但我想更改 string.class。当我有类的字符串名称时如何开始活动?
试试这个:
startActivity(this, Class.forName(yourStringClass));
这是一个代码,您可以通过该代码使用活动的名称开始活动
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);
这里的类名将是带有包名的类的全名。例如,如果您的包名称为 xyz,并且您的活动名称为 A,则活动 A 的全名将是 xyzA
Class
您可以使用按名称查找Class.forName("MyString")
就用....
Intent intent = new Intent().setClassName(activity,"packageName"+"className");
startActivity(intent);
Class<?> c =Class.forName("YOUR STRING" );
Intent intent = new Intent(FirstActivity.this, c);
startActivity(intent);