在Android studio中使用了fragment显示listview但是运行的时候一点击listview中的行就闪退无法进入下一页 求助啊啊啊啊十分着急!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 查看logcat,看看报的什么错误,从报错堆栈中可以定位错误的代码 on a null object reference这个错误怎么解决呢 不是很清楚么,你的getCityName()那里空指针异常啊 你看报错不是有蓝色的可点击链接吗?点进去就是报错的代码了,这个错误是说调用getCityName方法的对象是个空对象 点击的逻辑有问题,currentLevel == LEVEL_CITY的时候 selectedCity对象才赋值,但queryCounties方法里直接使用了selectedCity对象,所以报错。你可以在queryCounties方法里判断selectedCity是否为null,是null就return不继续执行 写了之后还是不对,,代码如下求救 private void queryCounties(){ titleText.setText(selectedCity.getCityName()); backButton.setVisibility(View.VISIBLE); countyList = DataSupport.where("cityid = ?", String.valueOf(selectedCity.getId())).find(County.class); if (countyList.size() > 0) { dataList.clear(); for (County county : countyList) { dataList.add(county.getCountyName()); } adapter.notifyDataSetChanged(); listView.setSelection(0); currentLevel = LEVEL_COUNTY; } else { int provinceCode = selectedProvince.getProvinceCode(); int cityCode = selectedCity.getCityCode(); String address = "http://guolin.tech/api/china/" + provinceCode + "/" + cityCode; queryFromServer(address, "county"); } } 没看到有写啊,你在这个方法里加if(selectedCity == null){ return;} 英文要加强一下,这种报错提示都看不懂不会调试的话,是没法做开发的.这里说了, 36行这个String response 不能解析成JSON, 应该是格式不正确.你在35行左边行号那里, 鼠标左键点一下(打断点), 然后进入调试模式(shift+F9),然后在调试窗口下面找变量, 看看response 这个变量是什么值, 再进行下一步吧. 意思就是你的 response 不是 JSONArray 格式的字符串,所以转为 JSONArray 的时候失败了 用个gson android 3G模块端口映射到PC上 在eclipse4.2下如何配android环境 显示对话框时背景会出现一条没遮住的地方...怎么回事? android google 地图定位,在线等 请问android2.3.3系统,如何完全退出程序! 关于 android xmlSerializer 的问题 怎么会先执行Activity的打印,为什么不是执行Handler的打印 安卓是根据什么来确定要显示的图片? 非常纠结bitmap的问题,困扰了好久 实习公司没人带,怎么自我提升? 一个关于写U盘后没数据的问题 android 能不能把裁系统剪框弄成圆形的
on a null object reference这个错误怎么解决呢
你看报错不是有蓝色的可点击链接吗?点进去就是报错的代码了,这个错误是说调用getCityName方法的对象是个空对象
private void queryCounties(){
titleText.setText(selectedCity.getCityName());
backButton.setVisibility(View.VISIBLE);
countyList = DataSupport.where("cityid = ?", String.valueOf(selectedCity.getId())).find(County.class);
if (countyList.size() > 0) {
dataList.clear();
for (County county : countyList) {
dataList.add(county.getCountyName());
}
adapter.notifyDataSetChanged();
listView.setSelection(0);
currentLevel = LEVEL_COUNTY;
} else {
int provinceCode = selectedProvince.getProvinceCode();
int cityCode = selectedCity.getCityCode();
String address = "http://guolin.tech/api/china/" + provinceCode + "/" + cityCode;
queryFromServer(address, "county");
}
}
没看到有写啊,你在这个方法里加
if(selectedCity == null){
return;
}
这里说了, 36行这个String response 不能解析成JSON, 应该是格式不正确.
你在35行左边行号那里, 鼠标左键点一下(打断点), 然后进入调试模式(shift+F9),
然后在调试窗口下面找变量, 看看response 这个变量是什么值, 再进行下一步吧.
意思就是你的 response 不是 JSONArray 格式的字符串,所以转为 JSONArray 的时候失败了