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

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

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. ural 1142. Relations

    1142. Relations Time limit: 1.0 secondMemory limit: 64 MB Background Consider a specific set of comp ...

  2. 【原】iOS学习46之第三方CocoaPods的安装和使用(通用方法)

    本文主要说明CocoaPods的安装步骤.使用说明和常见的报错即解决方法. 1. CocoaPods 1>  CocoaPods简介 CocoaPods是一个用来帮助我们管理第三方依赖库的工具. ...

  3. Leetcode Sum Root to Leaf Numbers

    Given a binary tree containing digits from 0-9 only, each root-to-leaf path could represent a number ...

  4. Leetcode ReorderList

    Given a singly linked list L: L0→L1→…→Ln-1→Ln,reorder it to: L0→Ln→L1→Ln-1→L2→Ln-2→… You must do thi ...

  5. [Leetcode] Word BreakII

    Question: Given a string s and a dictionary of words dict, add spaces in s to construct a sentence w ...

  6. 关于SASS--->推荐使用

    作为前端(html.javascript.css)的三大马车之一的css,一直以静态语言存在,HTML5火遍大江南北了.javascript由于NODE.JS而成为目前前后端统一开发语言的不二之选.只 ...

  7. (转) 使用Speech SDK 5.1文字转音频

    下载地址: http://www.microsoft.com/en-us/download/details.aspx?id=10121 SeppchSDK51.exe 语音合成引擎 SpeechSDK ...

  8. ArcGIS初步 系列视频教程

    本人才疏学浅,但鉴于较少的ArcGIS10以上版本的学习视频,所以利用业余时间做了这么个业余的视频系列教程,本随笔提供在线观看地址与720P原版下载地址. 1认识ArcGIS 优酷在线地址  (优酷清 ...

  9. 3Sum

    Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all un ...

  10. HTML DOM随笔

    编程接口 所有 HTML 元素被定义为对象,而编程接口则是对象方法和对象属性. 方法是您能够执行的动作(比如添加或修改元素). 属性是您能够获取或设置的值(比如节点的名称或内容). getElemen ...