这个问题在这里已经有答案了:
什么是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);
}
}
1条答案
按热度按时间hmtdttj41#
private LineChart lineChart
从未初始化过,这是导致错误的原因。你必须使用lineChart = (LineChart) findViewById(R.id.my_linechart);
从你的房间里拿xml
在使用任何函数或向其中添加数据之前对其进行初始化。希望这能奏效!