java - 将大量预定义字符串添加到 Spinner 小部件的简单方法?

标签 java android xml

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

轻松/快速地进入 strings.xml...例如我不想写 <item></item>每辆车周围单独制作。

或者我呢?...

非常感谢任何帮助

最佳答案

您可以在原始文件夹中保留一个文本文件,并使用逗号(,)分隔值,并在任何 Activity 的 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();
}
}

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

希望这有帮助。

关于java - 将大量预定义字符串添加到 Spinner 小部件的简单方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44995390/

相关文章:

java - sail实现的RDF Sesame查询策略

java - 运行时 Java jar 返回 java.lang.NoClassDefFoundError

java - 如何在 Android 中将 EditText 的数值格式化为未聚焦(或根本不聚焦!?)以使用逗号

android - 固定方向 Android 上的设备旋转

java - @Override 方法未更改值

android - java.lang.OutOfMemoryError处理来自Camera的14个数据

java - 如何获取表的索引值?

java - Spring JPA 存储库最近日期

java - XML 到 CSV 转换孙子节点

java - 均匀分割 xml 文件时遇到问题