parkingwang / vehicle-keyboard-android

停车王车牌键盘-Android
Other
658 stars 148 forks source link

setLocalProvinceName 内蒙古自治区 会崩溃 #34

Open sixforsix opened 5 years ago

sixforsix commented 5 years ago

我已确认所提问题在 FAQ.md 及 Issues 上没有。

问题描述:mPopupKeyboard.getKeyboardEngine().setLocalProvinceName("内蒙古自治区"); app直接崩溃了。 其他省份没这个问题

asiontang commented 5 years ago

当前省份=蒙的时候,provinces.size=12,而firstRow.size()=10,则会崩溃:

      java.lang.IndexOutOfBoundsException: Index: 10, Size: 10
    at java.util.ArrayList.get(ArrayList.java:411)
            at com.parkingwang.keyboard.engine.NeighborLayoutTransformer.transformLayout(NeighborLayoutTransformer.java:38)

修复方式我简单的修改了 for (int headIdx = 0; headIdx < provinces.size(); headIdx++) 改为 for (int headIdx = 0; headIdx < Math.min(provinces.size(), firstRow.size()); headIdx++) 即可解决此崩溃问题.

完整Commit: Fork/vehicle-keyboard-android@979c57d