2016-09-01 7 views
0

私はアンドロイドアプリケーションにグラフを実装しようとしています。そのために私はMPAndroidChartライブラリを使用しています。しかし、それを実装しようとすると、コンストラクタエラーが発生しているようです。このコードでMPAndroidchartライブラリを使用しているときにコンストラクタを解決できません

私のxml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" 
    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    tools:context="com.example.paycorp.androidtest.Graph4"> 

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

</RelativeLayout> 

コード

public class Graph4 extends ActionBarActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     BarChart chart = (BarChart) findViewById(R.id.chart); 

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

    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; 
    } 
} 

私は、この行でエラーが発生します

BarData data = new BarData(getXAxisValues(), getDataSet()); 

エラーが(getXAxisValuesに来る)、getDataSet ()部分。

エラー、特にこの

cannot resolve contructor 'BarData(java.util.ArrayList <java.lang.string>, java.util.ArrayList<com.github.mikephil.charting.data.BarDataset>)' 
+0

をv3.0beta http://stackoverflow.com/questions/37214617/cannot-resolve- constructor-bardataこれが役立つことを願っています。 – shalini

+0

私はこれらのソリューションを試しました。 –

答えて

0

は、私は正確な場所を私はX軸の値を置くが、あなたがそれらを修正する場合MPAndroidChartが動作するか分からないと言います。

から:

BarData data = new BarData(getXAxisValues(), getDataSet()); 

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

へ:MPAndroidChartで

BarData data = new BarData(getDataSet()); 

private ArrayList<IBarDataSet> getDataSet() { 
    ArrayList<IBarDataSet> dataSets = null; 
    ... 
} 

はあなたの答えはここにある

+0

はい、エラーはなくなりますが、アプリケーションを実行するとクラッシュします。実際にこのコードを実行しましたか? –

+0

もちろん私はそのコードを実行します。 ArrayList dataSets = null; 'getDataSet()'が 'null'を返しますか?そうでない場合、エラーコードは何ですか? – myoungjin

+0

これは実際に動作するはずです。まったく同じ問題がありましたが、ILineDataSetの場合 –

関連する問題