使用 mpandroidchart 和 kotlin 显示条形图

4 android kotlin mpandroidchart

我尝试使用 Kotlin 使用 mpandroidchart 库显示简单的条形图。我在网上找到的大多数示例都使用 java,因此复制代码,粘贴到 android studio 中以转换为 Kotlin,然后尝试修复错误是必要的。但我似乎无法修复使用 BarEntry 时出现的问题,如图所示。任何帮助表示赞赏。谢谢

在此输入图像描述

小智 6

在此输入图像描述

步骤1:

dependencies {

implementation 'com.github.PhilJay:MPAndroidChart:v2.2.4' 
}
Run Code Online (Sandbox Code Playgroud)

第2步:

repositories {

maven { url "https://jitpack.io" }
}
Run Code Online (Sandbox Code Playgroud)

步骤3:

    class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        setBarChart()
    }

    private fun setBarChart() {
        val entries = ArrayList<BarEntry>()
        entries.add(BarEntry(8f, 0))
        entries.add(BarEntry(2f, 1))
        entries.add(BarEntry(5f, 2))
        entries.add(BarEntry(20f, 3))
        entries.add(BarEntry(15f, 4))
        entries.add(BarEntry(19f, 5))

        val barDataSet = BarDataSet(entries, "Cells")

        val labels = ArrayList<String>()
        labels.add("18-Jan")
        labels.add("19-Jan")
        labels.add("20-Jan")
        labels.add("21-Jan")
        labels.add("22-Jan")
        labels.add("23-Jan")
        val data = BarData(labels, barDataSet)
        barChart.data = data // set the data and list of lables into chart

        barChart.setDescription("Set Bar Chart Description")  // set the description

        //barDataSet.setColors(ColorTemplate.COLORFUL_COLORS)
        barDataSet.color = resources.getColor(R.color.colorAccent)

        barChart.animateY(5000)
    }
}
Run Code Online (Sandbox Code Playgroud)

步骤4 :

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<com.github.mikephil.charting.charts.BarChart
    android:id="@+id/barChart"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />
 </androidx.constraintlayout.widget.ConstraintLayout>
Run Code Online (Sandbox Code Playgroud)

  • `val data = BarData(labels, barDataSet)` 引发错误。`类型不匹配。必需:IBarDataSet!找到:kotlin.collections.ArrayList&lt;String&gt; /* = java.util.ArrayList&lt;String&gt; */` (3认同)