Android 如何调用MyStringVar.class

Android 如何调用MyStringVar.class,android,Android,首先,为这个糟糕的标题感到抱歉,我根本不知道该怎么称呼它 假设我有一个值为ActivityMain的字符串,并且我的项目中有一个名为ActivityMain的活动。我是否可以通过字符串获取该类的新实例 总体思路是从服务器请求数据,返回一些不同的活动类,然后我想启动返回的任何活动。假设您可以获得活动类的完全限定名称,您可以遵循并使用: 总体思路是从服务器请求数据,返回一些不同的活动类,然后我想启动返回的任何活动 我想到的一个简单方法是,您可以使用一些切换条件或if-then-else条件来比较接收

首先,为这个糟糕的标题感到抱歉,我根本不知道该怎么称呼它

假设我有一个值为ActivityMain的字符串,并且我的项目中有一个名为ActivityMain的活动。我是否可以通过字符串获取该类的新实例


总体思路是从服务器请求数据,返回一些不同的活动类,然后我想启动返回的任何活动。

假设您可以获得活动类的完全限定名称,您可以遵循并使用:

总体思路是从服务器请求数据,返回一些不同的活动类,然后我想启动返回的任何活动

我想到的一个简单方法是,您可以使用一些切换条件或if-then-else条件来比较接收到的字符串,并相应地启动所需的活动。例如:

if ( stringReceived.equals("ActivityMain"){
//start ActivityMain
} else{
//others...
}

如果要开始的活动不多,这可能会很有用。

我认为如果不是这样,if-else if-ladder可能会做您想要的事情

if(responsefromsever.equals(NameOfActivityInString)){
 // instantiate the activity
}
用例: 我假设存在一个名为MainActivity的活动类。您从服务器收到的是响应,即字符串

String nameOfActivity = "MainActivity";
if(response.equals(nameOfActivity)){
 MainActivity instantiation or whatever you want to do
}else if(response.equals("SomeOtherActivity")){
 //SomeOtherActivity or whatever you want to do
}

您似乎正在将实现细节共享给客户端程序的服务器。如果要将服务器连接到iOS应用程序,该怎么办?那么整个活动名称返回的想法就行不通了。为你的界面画一条不同的线可能是最好的选择。

我现在就试试看,我现在有一个if-else梯形图,但我希望能够添加新的活动,而不需要编辑if-else
String nameOfActivity = "MainActivity";
if(response.equals(nameOfActivity)){
 MainActivity instantiation or whatever you want to do
}else if(response.equals("SomeOtherActivity")){
 //SomeOtherActivity or whatever you want to do
}