当我尝试在片段中添加图表时出现一些错误。
我正在尝试在片段中制作图表,该片段将引用我在XML中为片段创建的LineChartView
元素。
我使用hellochart,并阅读了本教程。解释了在那里使用活动来实现它。我如何实现它的碎片?
LineChartView lineChartView;
String[] axisData = {"Jan", "Feb", "Mar", "Apr", "May", "June", "July", "Aug", "Sept",
"Oct", "Nov", "Dec"};
int[] yAxisData = {50, 20, 15, 30, 20, 60, 15, 40, 45, 10, 90, 18};
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
lineChartView = findViewById(R.id.chart);
List yAxisValues = new ArrayList();
List axisValues = new ArrayList();
Line line = new Line(yAxisValues).setColor(Color.parseColor("#9C27B0"));
for (int i = 0; i < axisData.length; i++) {
axisValues.add(i, new AxisValue(i).setLabel(axisData[i]));
}
for (int i = 0; i < yAxisData.length; i++) {
yAxisValues.add(new PointValue(i, yAxisData[i]));
}
List lines = new ArrayList();
lines.add(line);
LineChartData data = new LineChartData();
data.setLines(lines);
Axis axis = new Axis();
axis.setValues(axisValues);
axis.setTextSize(16);
axis.setTextColor(Color.parseColor("#03A9F4"));
data.setAxisXBottom(axis);
Axis yAxis = new Axis();
yAxis.setName("Sales in millions");
yAxis.setTextColor(Color.parseColor("#03A9F4"));
yAxis.setTextSize(16);
data.setAxisYLeft(yAxis);
lineChartView.setLineChartData(data);
Viewport viewport = new Viewport(lineChartView.getMaximumViewport());
viewport.top = 110;
lineChartView.setMaximumViewport(viewport);
lineChartView.setCurrentViewport(viewport);
return inflater.inflate(R.layout.fragment_events, container, false);
}
findViewById方法上有一个错误,指出该方法无法解析。
最佳答案
更改onCreateView
并告诉我是否可行。
首先声明View
private View paramView;
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup
container, @Nullable Bundle savedInstanceState) {
paramView = inflater.inflate(R.layout.fragment_events, container, false);
lineChartView = paramView.findViewById(R.id.chart);
// Here comes all your code
return paramView;
}