pie-chart - 空对象引用上的 MPAndroidChart PieChart setData
问题描述
我的饼图 setData 中有错误。我已经尝试过可能的样本,甚至是基本的,但这种情况不断出现。
尝试在空对象引用上调用虚拟方法 'void com.github.mikephil.charting.charts.PieChart.setData(com.github.mikephil.charting.data.ChartData)'
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.de.curtains, PID: 18911
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.de.curtains/com.de.curtains.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void com.github.mikephil.charting.charts.PieChart.setData(com.github.mikephil.charting.data.ChartData)' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3308)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3457)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2044)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:224)
at android.app.ActivityThread.main(ActivityThread.java:7562)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void com.github.mikephil.charting.charts.PieChart.setData(com.github.mikephil.charting.data.ChartData)' on a null object reference
at com.de.curtains.MainActivity.onCreate(MainActivity.java:79)
at android.app.Activity.performCreate(Activity.java:7893)
<com.github.mikephil.charting.charts.PieChart
android:id="@+id/pieChart"
android:layout_width="match_parent"
android:layout_height="match_parent"/>```
`
private PieChart pieChart;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
pieChart = findViewById(R.id.pieChart);
List<PieEntry> entries = new ArrayList<>();
entries.add(new PieEntry(18.5f, "Green"));
entries.add(new PieEntry(26.7f, "Yellow"));
entries.add(new PieEntry(24.0f, "Red"));
entries.add(new PieEntry(30.8f, "Blue"));
PieDataSet dataSet = new PieDataSet(entries, "Election Results");
PieData data = new PieData(dataSet);
pieChart.setData(data);
}
解决方案
推荐阅读
- c# - 如何从 Firestore 反序列化 Unity 中的地图字段?
- javascript - 根据变量值变化更新内容
- reactjs - 嵌套反应路由器开关
- php - 在 PHP 中更改 Linux 和 Windows 服务器的文件权限
- angular - 表单构建器中的角度设置禁用属性
- reactjs - 在 React Native 中使用顺风?
- swift - 下载 Firebase 存储数据时,DispatchGroup 未正确执行
- c++ - 将 32 位掩码向量打包成 8 位掩码向量
- python - 优化的条形图适合具有指定数量的唯一值的曲线
- datagrid - 如何为 WPF System.Windows.Controls.DataGrid.ItemsSource 提供 Newtonsoft.Json.Linq.JObject 的集合?