【发布时间】: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