mpandroidchart错误,如有帮助,将不胜感激

uinbv5nw  于 2021-07-03  发布在  Java
关注(0)|答案(1)|浏览(253)

这个问题在这里已经有答案了

什么是nullpointerexception,如何修复它(12个答案)
上个月关门了。
我以前从未用过mpandroidchart。我只是在为我正在做的一个项目做测试。什么可能导致空对象引用错误?以下代码如下。

java.lang.NullPointerException: Attempt to invoke virtual method 'void com.github.mikephil.charting.charts.LineChart.setScaleEnabled(boolean)' on a null object reference
        at com.example.fishfindergraphicsnobtinputdata.MainActivity.onCreate(MainActivity.java:35)

public class MainActivity extends AppCompatActivity {
    MyCanvas myCanvas;
    String TAG;
    Context context;
    private LineChart lineChart;

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            myCanvas = new MyCanvas(this);
            myCanvas.setBackgroundColor(Color.GRAY);
            setContentView(myCanvas);
            context = getApplicationContext();
            Utils.init(context);
            lineChart = findViewById(R.id.linechart);
            lineChart.setScaleEnabled(false);
            lineChart.setDragEnabled(true);

            ArrayList<Entry> dataset1 =  new ArrayList<>();
            dataset1.add(new Entry(10, 10f));
            dataset1.add(new Entry(30, 30f));
            dataset1.add(new Entry(50, 50f));

            LineDataSet lineDataSet = new LineDataSet(dataset1, "linechart");

            ArrayList<ILineDataSet> dataSets = new ArrayList<>();
            dataSets.add(lineDataSet);

            LineData data = new LineData(dataSets);

            lineChart.setData(data);

        }

}
hmtdttj4

hmtdttj41#

private LineChart lineChart 从未初始化过,这是导致错误的原因。你必须使用 lineChart = (LineChart) findViewById(R.id.my_linechart); 从你的房间里拿 xml 在使用任何函数或向其中添加数据之前对其进行初始化。
希望这能奏效!

相关问题