Android 4.3 上 ShinobiChart 的空实例

Posted

技术标签:

【中文标题】Android 4.3 上 ShinobiChart 的空实例【英文标题】:Null instance of ShinobiChart on Android 4.3 【发布时间】:2013-10-19 15:00:02 【问题描述】:

我正在关注 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。我在 onCreateView 方法中从继承自 Fragment 的自定义类中调用它,我怀疑这个问题可能源于此 - 但我不确定如何解决它。

【问题讨论】:

【参考方案1】:

ChartFragment 在 ChartFragment.onCreate 期间获取其 shinobiChart,因此在您的代码中此时它仍然为空 - 到目前为止您所做的只是实例化它。

大概您打算使用 ShinobiChart 参考进行一些图表设置,所以我建议将 ChartFragment 子类化,并将您的设置代码移动到它的 onCreate 方法中(一定要调用 super.onCreate(savedInstanceState);)。

在 CustomDataAdapter 示例中有一个这种模式的示例。

【讨论】:

这是一个更好的模型,谢谢,并且似乎解决了 null 问题。但即使采用这种方法,我仍然会遇到错误:Couldn't load shinobicharts-android from loader dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.domain.appname-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.domain.appname-1, /system/lib]]]: findLibrary returned null。这是一个单独的问题吗?所有的类都编译得很好,所以我不确定这里发生了什么。

以上是关于Android 4.3 上 ShinobiChart 的空实例的主要内容,如果未能解决你的问题,请参考以下文章

应用程序在 android 4.3 上崩溃 [重复]

iOS 应用程序无法在 Android 4.3 上正确呈现

在 android 4.3 api 18 上更改 ActionBarActivity 的主题

如何使用 4.3 API 在 Android 上连接 WPA_EAP WIFI

是否可以通过仅禁用该模块来支持在 4.3 之前版本上运行的 android 设备上使用信标技术的应用程序?

XML drawable 在 4.3 和 4.1.2 上具有不同的行为