被这个问题耽误了一个多小时。。。

直接上解决方案,参考红色部分。

private void initViews() {
wheel = (NumberPicker) findViewById(R.id.info_wheel_province);
wheelCity = (NumberPicker) findViewById(R.id.info_wheel_city);
wheelCity.setWrapSelectorWheel(false); //读取地址信息json
final List<CityBean> cityBeans = ResUtils.initCityList(this);
final String[] pros = new String[cityBeans.size()]; for (int i = 0; i < pros.length; i++) {
pros[i] = cityBeans.get(i).getProvince();
} // wheel.setDescendantFocusability(NumberPicker.FOCUS_BLOCK_DESCENDANTS);
// wheelCity.setDescendantFocusability(NumberPicker.FOCUS_BLOCK_DESCENDANTS);
wheel.setMaxValue(pros.length - 1);
wheel.setMinValue(0);
wheel.setWrapSelectorWheel(false);
wheel.setDisplayedValues(pros);
wheel.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() { @Override
public void onValueChange(NumberPicker picker, int oldVal, final int newVal) {
String citys = cityBeans.get(newVal).getCitys();
final String[] split = citys.split(",");
wheelCity.setMinValue(0);
wheelCity.setValue(0);
if (split.length - 1 > wheelCity.getMaxValue()) {
wheelCity.setDisplayedValues(split);
wheelCity.setMaxValue(split.length - 1);
} else {
wheelCity.setMaxValue(split.length - 1
);
wheelCity.setDisplayedValues(split);
}

wheelCity.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() { @Override
public void onValueChange(NumberPicker picker2, int oldVal2, int newVal2) {
Toast.makeText(InfoActivity.this, pros[newVal] + " " + split[newVal2], Toast.LENGTH_LONG).show();
}
});
}
});
}

有兴趣的可以研究一下源码找下原因。

android NumberPicker 数组越界的坑的更多相关文章

  1. 解决Android时时更新listview数组越界问题

    时时更新数据一般出现在金融.股票行业对数据的准确性要求极高情况下使用. 先来看看下面一段代码, public class MainActivity extends Activity { private ...

  2. Android 【问题汇总】列表数组越界的问题

    遇到了一个诡异的问题,ListView发生数组越界(偶尔会),程序崩溃. 错误信息如下: W/dalvikvm( ): threadid=: thread exiting with uncaught ...

  3. 墨菲定律与 IndexOutOfBoundsException(数组越界异常)

    今天维护又反馈了一问题过来,查询试卷时报数组越界异常: 2017-02-28 10:45:24,827[ERROR] HttpException[10.32.111.7:60446:2D07867BE ...

  4. ListView 适配器实现getviewtypecount() 数组越界IndexOutOfBoundException

    ListView中Item的多布局显示,需要用到了getviewtypecount和getItemViewType这两个重写方法,但是做完后出现了如下提示错误: java.lang.ArrayInde ...

  5. iOS如何彻底避免数组越界

    我们先来看看有可能会出现的数组越界Crash的地方: ? 1 2 3 4 5 6 7 - (void)tableView:(UITableView *)tableView didSelectRowAt ...

  6. Objective-c防止数组越界而崩溃(全局效果)

    数组越界其实是很基本的问题,但是解决起来除了count的判断,还有每个调用的时候都要去判断一遍 对于不明确的数据总会有崩溃的风险 然而 每次调用都判断 那是太累了 so ..runtime&c ...

  7. 数组越界保护与消息传递black机制

    数组越界保护if(index.row <= [array count]) 发送消息[[NSNotificationCenter defaultCenter]     postNotificati ...

  8. Android开发需要注意的坑

    Android开发需要注意的坑一览​对于一些Android开发过程中坑爹.细小,但又重要的错误的总结​Android开发在路上:少去踩坑,多走捷径其他参考: ​google官方版本发布图 ​umeng ...

  9. iOS 数组越界 Crash加工经验

    我们先来看看有可能会出现的数组越界Crash的地方. - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSInd ...

随机推荐

  1. javaScript怪癖分析

    最近了解到javascript中有些编程怪癖现象,很有意思,有必要总结一下: 1.未知变量名创建全局变量 在我们平常的编写javascript程序的时候,有的人写法不是很正规,在定义变量的时候 直接定 ...

  2. Silverlight

    http://kb.cnblogs.com/zt/silverlight/ http://www.cnblogs.com/gnielee/archive/2010/01/15/silverlight- ...

  3. 2014-2015 ACM-ICPC, NEERC, Southern Subregional Contest (Online Mirror, ACM-ICPC Rules, Teams Preferred)

    I. Sale in GameStore(贪心) time limit per test 2 seconds memory limit per test 512 megabytes input sta ...

  4. Linux下统计高速网络中的流量

    netpps.sh统计每秒数据量,包含接收(RX)或发送(TX) netpps.sh eth0 #!/bin/bash INTERVAL=" # update interval in sec ...

  5. jQuery AJAX实例

    <html><head><title>jQuery Ajax 实例演示</title></head><script language= ...

  6. POJ 1244 Slots of Fun(计算几何)

    题目链接 很简单的一题,数据 很小,直接暴力的.但是也是写也好久,有几个数,没算好...一次CE,一次PE,3Y. #include <iostream> #include <cst ...

  7. 【noiOJ】p8211 (PS:二分浮点数的精度问题)

    05:派 查看 提交 统计 提问 总时间限制:  1000ms 内存限制:  65536kB 描述 我的生日要到了!根据习俗,我需要将一些派分给大家.我有N个不同口味.不同大小的派.有F个朋友会来参加 ...

  8. nginx和tomcat实现反向代理、负载均衡和session共享

    这类的文章很多,nginx和tomcat实现反向代理.负载均衡实现很容易,可以参照http://blog.csdn.net/liuzhigang1237/article/details/8880752 ...

  9. [CareerCup] 15.4 Types of Join 各种交

    15.4 What are the different types of joins? Please explain how they differ and why certain types are ...

  10. LeetCode(43. Multiply Strings)

    题目: Given two numbers represented as strings, return multiplication of the numbers as a string. Note ...