Отображение BarChart с помощью mpandroidchart с kotlin - PullRequest
1 голос
/ 22 января 2020

Я пытаюсь использовать Kotlin для отображения простой гистограммы с помощью библиотеки mpandroidchart. Большинство примеров, которые я нашел в Интернете, используют java, поэтому скопируйте код, вставьте в android studio, чтобы преобразовать в Kotlin, затем попытайтесь исправить ошибки, которые были необходимы. Но я просто не могу исправить тот, который появляется при использовании BarEntry, как показано на рисунке. Любая помощь приветствуется. Спасибо

enter image description here

Ответы [ 2 ]

2 голосов
/ 22 января 2020

BarEntry принимает только Float и FloatArray. Вы передаете Int вместо Float. Используйте f после каждого значения, например:

val barEntry = BarEntry(8f, 0f)

или , чтобы преобразовать ваше значение в Float, используя toFloat(), предоставленное Kotlin, например:

val barEntry = BarEntry(8f, 0.toFloat())
1 голос
/ 22 января 2020

enter image description here шаг 1:

зависимости {

реализация 'com.github.PhilJay: MPAndroidChart: v2.2.4'}

Шаг 2:

repositories {

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

Шаг 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)
}

}

Шаг 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>
...