我已经修改了示例 ActionBarSherlock/samples/demos/ListNavigation/在此处查看我的 github fork以了解更改。
总之
我已经添加了
- MyArrayAdapter
- my_spinner_dropdown_item.xml
我修改了 ListNavigation.java
1. -25 ArrayAdapter<CharSequence> list = new CustomArrayAdapter(context, R.layout.sherlock_spinner_item, mLocations);
2. +25 ArrayAdapter<CharSequence> list = new MyArrayAdapter(context, R.layout.sherlock_spinner_item, mLocations);
问题如下。
在带有 Android 4.0 的 AVD 上运行时,我得到了预期和期望的结果。每次打开 Spinner 下拉菜单时,每个项目旁边的数字都会增加。
在带有 Android 2.2 的 AVD 上运行时,我没有得到预期和期望的结果。Spinner 下拉菜单仅在前两次打开时更新,然后不再更新。
真正奇怪的是 setText() 仍然被调用并且 count 仍然增加,但是新值只是从未被绘制。
解决这个问题的动机?Google 的 gmail 应用程序具有类似的功能,即在 Spinner 下拉菜单中动态计数。这实际上是我从中获得功能创意的地方。