新手遇到 Fragment 问题?希望大神解救!谢谢!

masmonkeyss 2020-10-26 07:59:31
Fragment 大概是这样的:[color=#0000FF][/color]

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
View v = inflater.inflate(R.layout.ac_frament3, container, false);
initView();
return v;
}

private void initView() {
pieChart = (PieChart) getActivity().findViewById(R.id.pie_chat1);
showhodlePieChart();
}

private void showhodlePieChart() {
省略...
PieChartManagger pieChartManagger=new PieChartManagger(pieChart);
pieChartManagger.showSolidPieChart(yvals,colors);
}

pieChartManagger类大概是这样:

public class PieChartManagger {

public PieChart pieChart;

public PieChartManagger(PieChart pieChart) {
this.pieChart = pieChart;
initPieChart();
}

//初始化
private void initPieChart() {
pieChart.setDrawHoleEnabled(false); 出错的位置
省略。。。

------------------------------------------
错误代码:

java.lang.NullPointerException: Attempt to invoke virtual method 'void com.github.mikephil.charting.charts.PieChart.setDrawHoleEnabled(boolean)' on a null object reference
...全文
2275 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
KeepSayingNo 2020-10-27
  • 打赏
  • 举报
回复
你的初始化写得有问题,看看这个是如何初始化的:https://blog.csdn.net/zyf994318935/article/details/80234356
亦夜 2020-10-26
  • 打赏
  • 举报
回复
因为你的pieChart对象为空了所以在设置这个属性的时候就会抛出异常,你看一下这行PieChartManagger pieChartManagger=new PieChartManagger(pieChart);代码的时候你的pieChart对象是赋值成功了的吗,你直接将pieChart当作方法参数传递会不会更方便呢
masmonkeyss 2020-10-26
  • 打赏
  • 举报
回复
然后我换了几次的尝试,发现就是设置的时候出错的 例如: barChart.setDescription(null); barChart.setDrawBarShadow(false); barChart.setDrawBarShadow(true); 这些 都是 on a null object reference 错误 不知道怎么回事

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧