java - 使类可变

标签 java android android-listview

任何人都可以告诉我是否有一种方法,如果有的话如何使 Activity 基于 if thenswitch 语句实现整个类,本质上是让类本身成为一个变量? [我想根据从另一个选项卡中的 OnItemClicked 事件接收到的值在选项卡中显示特定的列表类( Activity )]。

让您了解我可能正在寻找的内容:

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

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

谢谢。

最佳答案

您在寻找 polymorphism

interface MyService {
   void doWork();
}

class CoolMyService {
   void doWork() { /* do something */ }
}

class AnotherMyService {
   void doWork() { /* do something else */ }
}

MyService service;
if(position == 1){ service = new CoolMyService(); }

if(position == 2){ service = new AnotherMyService() } 

service.doWork();

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

关于java - 使类可变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5730181/

相关文章:

android - 如何区分以编程方式滚动 ListView 和手动滚动 ListView ?

java - 从自定义 ListView 中删除项目的问题

java - 在 java 浏览透视图中使用控制台 View 时出现 Eclipse Juno 错误

java - java中线程没有名字的影响

android - AlertDialog 的 setCancelable(false) 方法不起作用

java - ListView - 通过滚动加载更多项目

java - 将 jtable 居中对齐到 jscrollpane

java - 修改Dijkstra,需要验证

android - 在 android 代码中创建一个套接字(不在 android 应用程序中)获取权限被拒绝

java - 检查 App 是否安装在设备 android 代码上