当执行使用MP Android图表库的片段时,应用程序崩溃

当执行使用MP Android图表库的片段时,应用程序崩溃,android,android-fragments,mpandroidchart,Android,Android Fragments,Mpandroidchart,我正在使用带有片段的导航抽屉活动,我已经在其中一个片段上实现了MP Android图表库。但当执行该片段时,应用程序崩溃。我读了这么多的文章和教程,但我不知道问题出在哪里 我已经在各自的类和文件上编写了以下代码行 片段类: package com.example.maleesha5.elektra11; import android.graphics.Color; import android.os.Bundle; import android.support.annotation.Nulla

我正在使用带有片段的导航抽屉活动,我已经在其中一个片段上实现了MP Android图表库。但当执行该片段时,应用程序崩溃。我读了这么多的文章和教程,但我不知道问题出在哪里

我已经在各自的类和文件上编写了以下代码行

片段类:

package com.example.maleesha5.elektra11;

import android.graphics.Color;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import com.github.mikephil.charting.charts.BarChart;
import com.github.mikephil.charting.data.BarData;
import com.github.mikephil.charting.data.BarDataSet;
import com.github.mikephil.charting.data.BarEntry;
import com.github.mikephil.charting.utils.ColorTemplate;

import java.util.ArrayList;

/**
 * Created by kokil on 21/05/2017.
 */


public class Statistics extends android.support.v4.app.Fragment {

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {

        View rootView = inflater.inflate(R.layout.statistics, container, false);

        BarChart chart = (BarChart) rootView.findViewById(R.id.chart);

        BarData data = new BarData(getXAxisValues(), getDataSet());
        chart.setData(data);
        chart.setDescription("My Chart");
        // chart.animateXY(2000, 2000);
        chart.invalidate();

        return rootView;
    }

    private ArrayList<BarDataSet> getDataSet() {
        ArrayList<BarDataSet> dataSets = null;

        ArrayList<BarEntry> valueSet1 = new ArrayList<>();
        BarEntry v1e1 = new BarEntry(110.000f, 0); // Jan
        valueSet1.add(v1e1);
        BarEntry v1e2 = new BarEntry(40.000f, 1); // Feb
        valueSet1.add(v1e2);
        BarEntry v1e3 = new BarEntry(60.000f, 2); // Mar
        valueSet1.add(v1e3);
        BarEntry v1e4 = new BarEntry(30.000f, 3); // Apr
        valueSet1.add(v1e4);
        BarEntry v1e5 = new BarEntry(90.000f, 4); // May
        valueSet1.add(v1e5);
        BarEntry v1e6 = new BarEntry(100.000f, 5); // Jun
        valueSet1.add(v1e6);

        ArrayList<BarEntry> valueSet2 = new ArrayList<>();
        BarEntry v2e1 = new BarEntry(150.000f, 0); // Jan
        valueSet2.add(v2e1);
        BarEntry v2e2 = new BarEntry(90.000f, 1); // Feb
        valueSet2.add(v2e2);
        BarEntry v2e3 = new BarEntry(120.000f, 2); // Mar
        valueSet2.add(v2e3);
        BarEntry v2e4 = new BarEntry(60.000f, 3); // Apr
        valueSet2.add(v2e4);
        BarEntry v2e5 = new BarEntry(20.000f, 4); // May
        valueSet2.add(v2e5);
        BarEntry v2e6 = new BarEntry(80.000f, 5); // Jun
        valueSet2.add(v2e6);

        BarDataSet barDataSet1 = new BarDataSet(valueSet1, "Brand 1");
        barDataSet1.setColor(Color.rgb(0, 155, 0));
        BarDataSet barDataSet2 = new BarDataSet(valueSet2, "Brand 2");
        barDataSet2.setColors(ColorTemplate.COLORFUL_COLORS);

        dataSets = new ArrayList<>();
        dataSets.add(barDataSet1);
        dataSets.add(barDataSet2);
        return dataSets;
    }

    private ArrayList<String> getXAxisValues() {
        ArrayList<String> xAxis = new ArrayList<>();
        xAxis.add("JAN");
        xAxis.add("FEB");
        xAxis.add("MAR");
        xAxis.add("APR");
        xAxis.add("MAY");
        xAxis.add("JUN");
        return xAxis;
    }
}
build.gradle文件:

repositories {
    maven { url "https://jitpack.io" }
}

dependencies {
    compile 'com.github.PhilJay:MPAndroidChart:v2.0.9'
}
布局XML文件:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin">

    <com.github.mikephil.charting.charts.LineChart
        android:id="@+id/chart"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</RelativeLayout>

更换

BarChart chart = (BarChart) rootView.findViewById(R.id.chart);


在xml中,您正在使用class
com.github.mikephil.charting.charts.LineChart
,而在片段中,您正在调用BarChart class

在崩溃时,您的logcat会说些什么?在没有stacktrace的情况下,发布您的错误Loghard,但将图形设置放在创建的视图中,而不是创建视图中“java.lang.ClassCastException:com.github.mikephil.charting.charts.LineChart无法转换为com.github.mikephil.charting.charts.BarChart”出现在错误日志中。@UrošPodkrižnik“java.lang.ClassCastException:com.github.mikephil.charting.charts.LineChart无法转换为com.github.mikephil.charting.charts.barcharts.LineChart“出现在错误日志中。谢谢。通过评论,我明白了。我认为你的回答是正确的。
BarChart chart = (BarChart) rootView.findViewById(R.id.chart);
LineChart chart = (LineChart) rootView.findViewById(R.id.chart);