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

想问下 Android 的下拉列表,在修改的时候,后台都是怎么给他传参的?

  •  
  •   w516322644 · 2019-05-29 14:49:05 +08:00 · 8548 次点击
    这是一个创建于 2001 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我写后台接口的时候,以为跟前端一样,返回 id 就行,$("#select").val(id)就选中了,我们现在的 Android 需要把值也传给他,这样他就省了一步循环。但我要多执行 sql 语句,去找到值。

    所以想问下大家都怎么办的?
    10 条回复    2019-05-29 23:11:48 +08:00
    behanga
        1
    behanga  
       2019-05-29 15:10:08 +08:00
    问题还没有描述清楚,你举个栗子
    w516322644
        2
    w516322644  
    OP
       2019-05-29 15:19:00 +08:00
    比如[{"id":1,"name":"whw"},{"id":3,"name":"whw"},{"id":5,"name":"whw"}]
    w516322644
        3
    w516322644  
    OP
       2019-05-29 15:20:55 +08:00
    @behanga 比如下拉列表数据动态获得[{"id":1,"name":"whw1"},{"id":3,"name":"whw3"},{"id":5,"name":"whw5"}],我后台只返回了,id=3,告诉他选中,现在我们的 Android 让我把 name 也返回回去,但我们 name 需要查,他不想循环,我不想查。
    ily433664
        4
    ily433664  
       2019-05-29 15:29:32 +08:00
    正常来说应该是返回 id,然后还有个字典让前端自己去取 name
    airfling
        5
    airfling  
       2019-05-29 15:33:27 +08:00
    多查几个字段又不浪费时间,而且还能减轻服务器压力,直接返回给他就是了
    behanga
        6
    behanga  
       2019-05-29 15:35:24 +08:00
    @w516322644 正常如果是列表性质的,一般 id=1,2,3 的数据都会给端上,然后端上根据这些数据自己做后续处理。如果数据量很大,需要做分页,端上请求的时候根据第几页返回数据。
    w516322644
        7
    w516322644  
    OP
       2019-05-29 15:41:05 +08:00
    @behanga

    @airfling
    因为 2 有可能不是他的,他看不到,所以 2 不返回给他。
    firefffffffffly
        8
    firefffffffffly  
       2019-05-29 15:52:17 +08:00
    我理解你返回了 { "data": [{"id":1,"name":"whw1"},{"id":3,"name":"whw3"},{"id":5,"name":"whw5"}], "selectedId": 3}
    首先这就是个数据结构设计问题,和 Android 平台不相关。
    我猜他 UI 层额外创建了个只包含 name 的 List,想用 indexOf 或者 contains 函数直接查询 index,如果只有 id 就得先从 id 查询 name,再查询 index,就多了个 id 查 name 的循环。
    firefffffffffly
        9
    firefffffffffly  
       2019-05-29 15:58:31 +08:00
    有 id 存在的场景不用 id 索引内容而是用展示性质的 name 做索引肯定是最大的坑,所以肯定不能返回 name 让他做查询操作。
    hhecoder
        10
    hhecoder  
       2019-05-29 23:11:48 +08:00
    客户端为什么需要 name 呢?没啥特别的原因肯定用 id 咯
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3006 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 54ms · UTC 00:33 · PVG 08:33 · LAX 16:33 · JFK 19:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.