2

I have a 2d array of strings. I would like to use a spinner to allow users to select values from the 2nd lvl of the array but I would like to display the selection options in a expandablelistview using the values of the 1st lvl of the array as category headers.

Is this possible, can someone point me in the right direction of how this should be implemented ?

4

1 回答 1

6

您不能直接将 anExpandableListView用于Spinner弹出窗口,就像您可以直接将 aListView用于Spinner弹出窗口一样。它就是这样,并且由Spinner类定义。

选项包括:

  • 子类Spinner化和覆盖任何驱动弹出对话框的东西
  • 复制Spinner到您的项目中并替换驱动弹出对话框的任何内容(如果由于方法可见性等原因覆盖将不起作用)
  • 不要使用Spinner, 而是使用一个Button加号AlertDialog包含一个ExpandableListView, 或类似的东西

原则上,您可以覆盖getDropDownView()您的SpinnerAdapter(例如,ArrayAdapter)。但是,没有禁用下拉视图的概念,我假设您希望您的类别标题是不可选择的。但是,如果选择一个类别是可以接受的,那么这种方法将是最简单的。

于 2010-10-05T16:14:40.783 回答