【问题标题】:Null instance of ShinobiChart on Android 4.3Android 4.3 上 ShinobiChart 的空实例
【发布时间】: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 的自定义类中调用它,我怀疑这个问题可能源于此 - 但我不确定如何解决它。

【问题讨论】:

    标签: android android-4.3-jelly-bean shinobi


    【解决方案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。这是一个单独的问题吗?所有的类都编译得很好,所以我不确定这里发生了什么。
    猜你喜欢
    • 1970-01-01
    • 2019-08-26
    • 2013-08-08
    • 1970-01-01
    • 1970-01-01
    • 2013-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多