轻松地向Spinner小部件添加大量预定义字符串?

时间:2017-07-09 10:29:11

标签: java android xml

有没有办法输入这个文字 阿尔法罗密欧 阿斯顿·马丁 奥迪 宾利 奔驰 宝马 布加迪 卡迪拉克 雪佛兰 克莱斯勒 雪铁龙 克尔维特 DAF 达契亚 大宇 大发 达特桑 De Lorean 迪诺 躲闪 Farboud 法拉利 菲亚特 涉 本田 蜂鸟 现代 捷豹 吉普车 起亚 科尼赛克 拉达 兰博基尼 蓝旗亚 路虎 雷克萨斯 利吉尔 ......所有的汽车公司;

轻松/快速地进入strings.xml ...例如,我不想在每辆汽车周围单独编写<item></item>

还是我?....

任何帮助非常感谢

1 个答案:

答案 0 :(得分:1)

您可以使用逗号(,)分隔值将文本文件保存在原始文件夹中,并在任何活动的onCreate中读取它们:

 private List<String> mFileItems;

然后

int textFile = R.raw.keywords;
mFileItems = Arrays.asList(Utils.getStringFromRaw(this, textFile).replace("\"", "").split("\\s*,\\s*"));

public class Utils {


public static String getStringFromRaw(Context mContext, int resource) throws IOException {
    Resources r = mContext.getResources();
    InputStream is = r.openRawResource(resource);
    String statesText = convertStreamToString(is);
    is.close();
    return statesText;
}

private static String convertStreamToString(InputStream is) throws IOException {
    ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
    int i = is.read();
    while (i != -1) {
        byteArrayOutputStream.write(i);
        i = is.read();
    }
    return byteArrayOutputStream.toString();
}
}

这将编译列表中以逗号分隔的所有项目。然后你可以在微调器适配器中设置它。

希望这有帮助。