java - Android - 选择微调项目时,不会显示为选定项目,而是显示一个空选择

标签 java android enums android-spinner

这里有一个奇怪的问题,

微调器项目完美显示,当选择某个项目时,该项目就会显示在微调器上。一切都很好,除了当我选择选项 - 千(见下文)时,它是通过编程选择的,但应该显示的“kg”符号不是,只有一个空的微调器

我有 3 个独立的枚举值

public enum Unit
{
    // Different unit names and symbols
    PERCENTAGE ("%", 0),
    KILOGRAMS ("kg", 1),
    POUNDS ("lb", 2);

    private String symbol;
    private int position;

    Unit(String symbol, int position)
    {
        this.symbol = symbol;
        this.position = position;
    }

    // Get symbol
    public String getSymbol()
    {
        return symbol;
    }
}

他们通过以下代码填充微调器。

    // Set Unit spinners
    units = new ArrayList<String>();

    for (Unit unit : Unit.values())
    {
        units.add(unit.getSymbol());
    }

    ArrayAdapter <String> unitAdapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_dropdown_item, units);

    sSuccessUnit.setAdapter(unitAdapter);

仅此而已,似乎很奇怪。我尝试添加另一个 KILOGRAMS 枚举,因此有两个,但两者都有相同的问题。我尝试添加另一个 POUNDS 枚举,就像之前一样,效果很好。我还尝试添加盎司(“盎司”),但这也不起作用..

有什么想法吗?

编辑:为了稍微澄清这个问题..显示了所有要显示的内容("%","kg","lb")。当我选择“%”和“lb”时,这就是我在微调器中看到的选择,当我选择“kg”时,微调器显示“”,一个空选择

最佳答案

问题是旋转器不够宽。

“kg”是我试图显示的最宽的名称,通过简单地增加宽度,一切都得到了解决。

关于java - Android - 选择微调项目时,不会显示为选定项目,而是显示一个空选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17264455/

相关文章:

android - 从 Firebase 数据库获取的数据显示在 3 个单独的警报对话框中,而不是一个

android - 最适合我的设备的 OEM 驱动程序?

Android:禁用和启用以编程方式为 API 19 拉取状态栏

java - Hibernate 'tableless' 枚举映射?

java - 我如何循环遍历 Java 中的枚举?

java - 我如何使用 Httpclient 循环返回的 JSON

编辑树单元格时,Java JTree 自定义图标更改回默认图标

java - WebSocket RemoteEndpoint 不可用将数据发送回客户端的问题

java - 如何将 "not"与 java 正则表达式模式中的更多字符匹配?

grails - 在 GSP 页面上显示枚举值,然后将它们绑定(bind)到数据库中