Java 使类变为变量

Java 使类变为变量,java,android,android-listview,Java,Android,Android Listview,有谁能告诉我,是否有一种方法,如果有,如何使一个活动基于if-then或switch语句实现一个完整的类,本质上使类本身成为一个变量?[我想根据从另一个选项卡中的OnItemClick事件接收到的值,在选项卡中显示特定的列表类(活动)] 让您了解我认为我可能在寻找什么: if(position == 1){//run class 1} if(position == 2){//run class 2} 谢谢。你在找什么 我不知道列表中有多少项,但是您可以根据需要调整上面的示例以动态加载对象。请

有谁能告诉我,是否有一种方法,如果有,如何使一个活动基于
if-then
switch
语句实现一个完整的类,本质上使类本身成为一个变量?[我想根据从另一个选项卡中的OnItemClick事件接收到的值,在选项卡中显示特定的列表类(活动)]

让您了解我认为我可能在寻找什么:

if(position == 1){//run class 1}

if(position == 2){//run class 2}
谢谢。

你在找什么

我不知道列表中有多少项,但是您可以根据需要调整上面的示例以动态加载对象。请记住,您可以使用多态性和定义的方法来确保完整性。然后将实际工作放在具体实现中。

您可能需要一个(n抽象)工厂模式


看一看

你可以使用广播接收器

if (position == 1){
    sent broadcast event to one class 
}if(position === 2){
    sent broadcast event to another class

}

您还可以研究如何使用Class.forName()


我不确定我是否理解你的问题

我的第一个解决方案是实现with,将类作为参数传递给工厂方法:

代码:


抽象工厂或原型模式适合您的需要

if (position == 1){
    sent broadcast event to one class 
}if(position === 2){
    sent broadcast event to another class
Class oClass = Class.forName(strClassName);
Tab myTab = (Tab) oClass.newInstance();
Class impClass;
if (position == 1) {
  impClass = First.class;
} else if (position == 1) {
  impClass = Second.class;
}
Object myObject = ObjectFactory.createObject(impClass);