18914940609
V2EX  ›  Android

id="@+id/name"怎么获取 id 的 String 值,而不是 int

  •  
  •   18914940609 · Oct 26, 2017 · 13911 views
    This topic created in 3164 days ago, the information mentioned may be changed or developed.
    XMLparse 解析 xml 文件其中一个 Node 有一个 属性是 id="@+id/name",
    通过 String idAttr = xmlParser.getAttributeValue(null,"id");
    之前 buildTool 22 里面获取 value 是"@+id/name"
    今天升级了 as3.0 和 buildTool 26 以后 获取的内容自动转换成 @1234 —— R 文件里生成的 id 了...请问怎么解决
    7 replies    2017-10-26 18:48:08 +08:00
    yuriko
        1
    yuriko  
       Oct 26, 2017
    这个我记得应该是编译时候就替换掉的吧?你确定以前能获取 String ?
    18914940609
        2
    18914940609  
    OP
       Oct 26, 2017
    @yuriko 是可以的,上午升级了一下版本,别的都没改,断点出来就成这样了
    yuriko
        3
    yuriko  
       Oct 26, 2017
    这个值不是 String 么,id 不是 int 么……
    TestSmirk
        4
    TestSmirk  
       Oct 26, 2017
    解压 apk 看看 layout 有没有问题
    18914940609
        5
    18914940609  
    OP
       Oct 26, 2017
    @yuriko 格式也是 String 的,但内容是"@21323232"
    18914940609
        6
    18914940609  
    OP
       Oct 26, 2017
    @TestSmirk 不是 layout,在 xml 文件夹里面新建了一个 url.xml ,里面放 API 列表,一个 API 一个<Node>节点,里面有一个节点属性是 id="@+id/api_get_pic",编译以后会在 R 文件里生成一个 id,ranhou java 代码中通过 R.id.api_get_pic 来获取这个节点信息访问 API
    yuriko
        7
    yuriko  
       Oct 26, 2017
    我怀疑你是不是换过 SDK 版本或者 gradle 版本之类的了,今天更新的时候貌似有推新的编译套件,我没升级就是了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3041 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 14:34 · PVG 22:34 · LAX 07:34 · JFK 10:34
    ♥ Do have faith in what you're doing.