我目前正在Android中实现一个Spinner,并且无法获得两个与Spinner链接的数组 - 一个用于旋转器未展开的情况,另一个用于何时进行展开。
因此,当未展开时,微调器看起来像这样:
当它被扩展时,链接到它的数组从缩短版本的字符串变为长版本。
我想过在旋转Spinner时更改数组,然后在取消时更改它但我认为这最终会变得混乱,或者创建一个看起来像旋转器的按钮,这会打开一个自定义ListView对话框充当自定义Spinner,但这似乎有点矫枉过正。有更简单的方法吗?
答案 0 :(得分: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
}
};