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

布局有二十几个 textview,然后通过解析获取的 jason 数据填充相应的内容.

  •  
  •   Gehrman · 2016-09-19 11:52:49 +08:00 · 9845 次点击
    这是一个创建于 3019 天前的主题,其中的信息可能已经有所发展或是发生改变。
    有没有什么好的方法?不想一个一个搞啊.
    10 条回复    2016-09-19 16:28:56 +08:00
    nicktogo
        1
    nicktogo  
       2016-09-19 11:56:20 +08:00 via iPhone
    data binding?
    Gehrman
        2
    Gehrman  
    OP
       2016-09-19 12:01:57 +08:00
    @nicktogo 好像是解决这个需求的,我研究下,不知道能不能行,谢谢!
    yuyu2140
        3
    yuyu2140  
       2016-09-19 12:27:44 +08:00   ❤️ 3
    咦?怎么跟我这边的需求很像?!
    我的解决方案是,每个 textview 加上 tag 属性,例如:
    <EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:tag="name"/>
    然后遍历根布局下所有子控件,取出 tag 作为 json 的 key ,取出 textview 的文字作为 json 的 value 即可。
    yuyu2140
        4
    yuyu2140  
       2016-09-19 12:28:53 +08:00
    上面的是取值的过程,填充的过程是一样的,通过 tag 值遍历填充即可
    Gehrman
        5
    Gehrman  
    OP
       2016-09-19 13:35:25 +08:00
    @yuyu2140 这到是个不错的方法,试试
    lawlietxxl
        6
    lawlietxxl  
       2016-09-19 13:46:26 +08:00
    动态添加 textview 可好?
    rockyou12
        7
    rockyou12  
       2016-09-19 14:55:55 +08:00
    databinding 是最好的!连 findviewById 都不同写,也不像 butterknife 还要整一堆注解。 mvvm 大法好!可惜之前用的时候有少许兼容性问题,不然连 retrolambda 也可以扔掉了
    iFlicker
        8
    iFlicker  
       2016-09-19 15:29:20 +08:00
    DataBinding 看起来很方便 没用过。
    不过楼上说有兼容性是指的 5.0 以下么?
    SorcererXW
        9
    SorcererXW  
       2016-09-19 16:13:34 +08:00 via Android
    TextView[ ]
    Gehrman
        10
    Gehrman  
    OP
       2016-09-19 16:28:56 +08:00
    设置 tag 这个方法可行,而且正好我不止要填充,还要取值.databinding 看起来需要更多的时间来理解
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3005 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 18ms · UTC 14:03 · PVG 22:03 · LAX 06:03 · JFK 09:03
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.