【问题标题】:Which is better for a Spinner?哪个更适合 Spinner?
【发布时间】:2012-09-02 16:40:28
【问题描述】:

我正在使用strings.xml 中的数组创建一个 Spinner。

我注意到我可以使用android:entries="@array/theName" 来填充我的微调器。 或者我可以使用以下代码:

spinner = (Spinner) findViewById(R.id.spinner1);
ArrayAdapter<CharSequence> adapter1 = ArrayAdapter.createFromResource(this, R.array.theName, android.R.layout.simple_spinner_item);
adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner1.setAdapter(adapter1);

那么这两者有什么区别呢?一个跑得比另一个快吗?我完全赞成不使用所有代码,但如果它会导致我的应用程序的其余部分出现问题,我宁愿使用代码。我计划将用户选择的内容用于我的应用中的其他位置。

【问题讨论】:

    标签: android android-spinner


    【解决方案1】:

    两者都有效。

    如果您的 res 文件夹中已经有字符串数组,请使用 XML 代码。它更简单,更清洁。 否则,如果您动态获取数组(例如从 Internet 获取),请使用 java 方法。

    【讨论】:

      【解决方案2】:

      这些方法之间几乎没有区别,属性android:entries主要是一种方便的方法。你可以自己看代码:

      1. ArrayAdapter.createFromResource()
      2. 使用android:entries

      他们都调用Resources.getTextArray() 并创建一个ArrayAdapter&lt;CharSequence&gt;。主要区别在于:使用方法1可以使用自定义布局,而使用方法2只需要一行XML代码。

      entries属性上引用documentation

      对于静态内容,这比以编程方式填充 Spinner 更简单。

      【讨论】:

        猜你喜欢
        • 2019-11-13
        • 1970-01-01
        • 1970-01-01
        • 2010-11-27
        • 2013-09-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多