1

我目前正在 Android 中实现一个 Spinner,并且无法将两个数组与 Spinner 链接——一个用于当 Spinner 未展开时,一个用于当它展开时。

所以微调器在未展开时会如下所示: 小陀螺

当它展开时,链接到它的数组从字符串的缩短版本变为长版本。 扩展的微调器

我曾考虑在触摸 Spinner 时更改数组,然后在取消时将其更改回来,但我认为这最终会变得混乱,或者创建一个看起来像微调器的按钮,这会打开一个自定义 ListView 对话框充当自定义微调器,但这似乎有点矫枉过正。有没有更简单的方法?

4

1 回答 1

1

你可以实现自己的适配器来达到这个效果。覆盖返回“展开”视图的 getView() 和返回“折叠”视图的 getDropDownView()。不要忘记利用 convertView。

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(), 0, objects) {
        @Override
        public View getDropDownView(int position, View convertView, ViewGroup parent) {
            //inflate and return the view you want to see as the non-expanded droplist
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            //inflate and return the expanded view
        }
    };
于 2013-02-04T16:12:59.910 回答