【问题标题】:"No Chart Data Available" MPAndroidChart in Kotlin“没有可用的图表数据” Kotlin 中的 MPAndroidChart
【发布时间】:2022-10-15 16:23:46
【问题描述】:

我一直在尝试使用 Github 的 MPAndroidChart 库按照旧教程制作折线图,所以我不使用最新版本(3.1.0),而是必须使用旧版本(2.2.4)作为从那时起,编码发生了变化,我不知道如何根据最新版本创建折线图。

问题是,我一直在尽一切努力让代码正常工作,不要误会我的意思,代码“有效”,并且构建正确完成,所以我可以在我的物理设备上对其进行测试,但是出于某种原因,打开 APK 查看结果后,它告诉我“没有可用的图表数据”。我认为问题与activity_main.xml 中的RelativeLayout 内的LineChart 有关。我试过 findViewByID 和 View Binding 但我总是得到相同的结果。

你们能告诉我我错的原因吗?或者教我如何根据最新版本制作折线图。帮助表示赞赏。

MainActivity.kt:

package com.example.actualgraphtesting

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import com.example.actualgraphtesting.databinding.ActivityMainBinding
import com.github.mikephil.charting.charts.LineChart
import com.github.mikephil.charting.data.Entry
import com.github.mikephil.charting.data.LineData
import com.github.mikephil.charting.data.LineDataSet

class MainActivity : AppCompatActivity (){

    private lateinit var binding: ActivityMainBinding

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        binding = ActivityMainBinding.inflate(layoutInflater)
        setContentView(binding.root)
    }

    fun setLineChartData()
    {
        val xvalue = ArrayList<String>()
        xvalue.add("13")
        xvalue.add("6")
        xvalue.add("17")
        xvalue.add("5")
        xvalue.add("8")

        val lineentry = ArrayList<Entry>();
        lineentry.add(Entry(20f , 0))
        lineentry.add(Entry(50f , 1))
        lineentry.add(Entry(70f , 2))
        lineentry.add(Entry(10f , 3))
        lineentry.add(Entry(30f , 4))

        val linedataset = LineDataSet(lineentry, "First")
        linedataset.color = resources.getColor(R.color.purple_500)

        val data = LineData(xvalue, linedataset)

        binding.lineChart.data = data
        binding.lineChart.setBackgroundColor(resources.getColor(R.color.white))
        binding.lineChart.animateXY(3000, 3000)



    }



}

活动主.xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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.LineChart
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/lineChart"/>

</RelativeLayout>

【问题讨论】:

    标签: android xml android-studio kotlin mpandroidchart


    【解决方案1】:

    不要忘记在 onCreate 中实际调用您的函数 setLineChartData()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-02
      • 2022-08-22
      • 1970-01-01
      • 1970-01-01
      • 2021-02-17
      • 1970-01-01
      • 2021-04-17
      • 1970-01-01
      相关资源
      最近更新 更多