V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Totato5749
V2EX  ›  Android

安卓开发来聊聊,你们的 Adapter 类写在哪?

  •  
  •   Totato5749 · 2016-01-27 21:18:20 +08:00 · 6051 次点击
    这是一个创建于 3013 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,是另外起一个类呢,还是以内部类形式写在要用在要用到的 Activity 里?

    11 条回复    2016-01-29 21:15:02 +08:00
    kifile
        1
    kifile  
       2016-01-27 21:24:31 +08:00
    我一般是单功能一个包,然后包内一个 data 子包放数据相关, widget 子包放特定的自定义控件和 adapter
    michaelye1988
        2
    michaelye1988  
       2016-01-27 21:39:11 +08:00
    好问题。我最开始是把所有 adapter 写在一个包里面,后来发现找起来麻烦,就改为直接和相关的 Activity 或者 Fragment 写在同一个包里面。命名的时候大概是这样: XXXActivity.java XXXActivityAdapter.java 我觉得这样最方便
    edanel
        3
    edanel  
       2016-01-27 22:19:17 +08:00
    新建类。
    cpp255
        4
    cpp255  
       2016-01-27 22:56:14 +08:00
    新建类。
    逻辑麻烦的新建类,如果只是基本的展示的推荐这个库: https://github.com/JoanZapata/base-adapter-helper 好用到飞起
    twoyuan
        5
    twoyuan  
       2016-01-27 23:19:08 +08:00
    不负责任推荐一下前段时间自己造的一个轮子 > < 目前自己在两个项目里都在用,如果是单一样式的 Adapter 写一个 Holder + 注解就可以直接使用了,每个 child view 也可以随意设置事件监听~ 另外一个 holder 可以 ListView 和 RecyclerView 通用。

    项目地址: https://github.com/twiceyuan/CommonAdapter
    hackerwgf
        6
    hackerwgf  
       2016-01-28 00:05:54 +08:00 via iPhone
    新建吧,扔到 adapter 包里面。项目太大的话就把名字起好点,要么跟 activity 放一起。
    jinhan13789
        7
    jinhan13789  
       2016-01-28 09:46:37 +08:00
    内部类吧,哪里用到放哪里~ 缺点是不能复用,优点是查找方便 就在代码下方
    Totato5749
        8
    Totato5749  
    OP
       2016-01-28 11:54:46 +08:00
    https://github.com/google/iosched/tree/master/android/src/main/java/com/google/samples/apps/iosched

    这是 Google IO2015 客户端的源码结构,谷歌也是按模块分的,跟 2 楼说的非常接近。供各位参考
    nashxk
        9
    nashxk  
       2016-01-28 22:23:07 +08:00
    解耦。。
    Rachel030219
        10
    Rachel030219  
       2016-01-29 17:49:26 +08:00
    新建一个类,感觉内部类没有新建那么好
    limengwei
        11
    limengwei  
       2016-01-29 21:15:02 +08:00 via Android
    独立的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2948 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 14:06 · PVG 22:06 · LAX 07:06 · JFK 10:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.