不同对象的通用活动

时间:2014-01-07 12:17:46

标签: java android api generics android-activity

我目前正在为API构建应用。每当我想从API收集对象列表时,以下生命周期都适用:

  1. 开始活动
  2. 在BASE_URI / objects
  3. 上调用GET请求
  4. 填写ListView中的对象
  5. 活动是从相同的组件构建的:ArrayAdapter,ProgressBar,异步任务等。唯一可能不同的是当我点击列表中的对象时调用的活动,因为对象有时会有所不同属性,我想用不同的风格显示它们。

    现在我想知道:是否可以制作通用活动存储库?比如...

    public ActivityStore<T> extends ListActivity {
       ...
    }
    

    我只传递API路径和反序列化对象的引用类型?

2 个答案:

答案 0 :(得分:1)

谁会打电话给ActivityStore<Dog>?你的清单? 不,你不能这样做。

但是,如果你有类似DogStoreActivity extends ActivityStore<Dog>的东西,那么定义像这样的活动就完全没问题了。

答案 1 :(得分:-1)

您可以只使用列表视图保留一个活动,为不同类型的数据保留不同的适配器。

创建一个AsyncTask以从服务器获取数据并将适当的适配器设置为ListView

您还可以创建一个所有其他活动扩展的基本活动,并将您的公共代码放在那里。