1. 添加hellocharts库后,新添加一个line chart到chart page页面。
问题:点击登录按钮后,程序自动关闭,控制台报出...setInteractive(boolean)' on a null object reference错误。
分析:从报错信息看,新添加的initLineChart()函数中,是在执行到lineChart.setInteractive(true);这句时,没有参考目标,即想到lineChart这个变量是否实例化。
回去查看其实例化语句:lineChart =(LineChartView)findViewById(R.id.line_chart);因为line chart是放在viewPager控件下的chart page页面下的,参考set page和data page的控件实例化语句,将lineChart的实例化语句更改为:lineChart = (LineChartView)viewPager_chart.findViewById(R.id.line_chart);更改后,功能正常,错误消失。
原因:因为使用了viewPager控件,所以其子页面下控件的实例化及使用,注意,要先把子页面对象写出来。
如:setGain_setPage_Btn = (Button)viewPager_set.findViewById(R.id.setGainBtnId);
sendData_Edit_pageData = (EditText)viewPager_data.findViewById(R.id.sendData_Edit_pageDataId);
lineChart = (LineChartView)viewPager_chart.findViewById(R.id.line_chart);
2.