代码之家  ›  专栏  ›  技术社区  ›  TechBee

如何循环通过R.string。<name>

  •  0
  • TechBee  · 技术社区  · 8 年前

    我试图在字符串中循环通过以下项。但获取无效int错误。最佳解决方案或变通方法是什么?

    <string name="hero_1">Akshay</string>
    <string name="hero_1_number_of_movies">15</string>
    <string name="hero_1_children">2</string>
    
    <string name="hero_2">Ajay</string>
    <string name="hero_2_number_of_movies">55</string>
    <string name="hero_2_children">2</string>
    

    for (int i=0;i<numberOfchalisas;i++) {
        int heroName = Integer.valueOf("R.string.hero_" + (i + 1));
        int numMoviesDone = Integer.valueOf("hero_"+(i+1)+"_number_of_movies");
        int numChildren = Integer.valueOf("hero_"+(i+1)+"_children");
    
        String name = getString(heroName);
    }
    
    1 回复  |  直到 8 年前
        1
  •  2
  •   Kishan Boghra    8 年前

    这会有用的!尝试

    for (int i=1;i<=numberOfchalisas;i++) {
        Integer heronameid = getResources().getIdentifier("hero_" + i, "string", getPackageName());
        Integer numMoviesDoneid = getResources().getIdentifier("hero_" + i +"_number_of_movies", "string", getPackageName());
        Integer numChildrenid = getResources().getIdentifier("hero_" + i +"_children", "string", getPackageName());
    
        String heroname = getString(heronameid);
        String numMoviesDone = getString(numMoviesDoneid);
        String numChildren = getString(numChildrenid);
        }