我遵循的是ShinobiCharts for Android快速入门指南,只是以编程方式添加图表片段,如下所示:
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
ChartFragment chartFragment = new ChartFragment();
fragmentTransaction.add(R.id.history_container, chartFragment, "chart");
fragmentTransaction.commit();
ShinobiChart shinobiChart = chartFragment.getShinobiChart();
在
shinobiChart
始终初始化为null的最后一行之前,一切看起来都很好。我从Fragment
方法的继承自onCreateView
的自定义类中调用此函数,我怀疑此问题可能源于此-但我不确定如何解决它。 最佳答案
ChartFragment在ChartFragment.onCreate期间获取其shinobiChart,因此在您的代码中,此时它仍然为null-到目前为止,您所做的只是将其实例化。
大概您打算使用ShinobiChart参考进行一些图表设置,因此我建议将ChartFragment子类化,并将您的设置代码移到其onCreate方法中(一定要调用super.onCreate(savedInstanceState);)。
CustomDataAdapter示例中有一个这种模式的示例。