Я использую эту библиотеку в своем приложении, но диаграмма показывает данные справа налево, а левый край показывает недавний элемент. Я хочу, чтобы он отображал данные слева направо.
Т.е. он должен показывать 10 11 12 13 14, но в настоящее время он показывает 14 13 12 11 10.
Я надеюсь, что вы получите Идея о чем я говорю.
Вот мой код:
class FullScreenActivity : AppCompatActivity() {
var allData: Boolean = false
private val arraySelection = booleanArrayOf(true, true, true)
override fun onCreate(savedInstanceState: Bundle?) {
requestWindowFeature(Window.FEATURE_NO_TITLE)
supportActionBar?.hide()
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_fullscreen)
ivBack.setOnClickListener { onBackPressed() }
graphData()
lblSwitch.setOnToggledListener(object : OnToggledListener {
override fun onSwitched(toggleableView: ToggleableView?, isOn: Boolean) {
allData = isOn
graphData()
}
})
}
fun graphData() {
var casesTimeSeries: List<Cases_time_series> =
intent.extras!!.getSerializable("graphData") as List<Cases_time_series>
var eCount = intent.extras!!.getInt("eCount")
var cCount = intent.extras!!.getInt("cCount")
var rCount = intent.extras!!.getInt("rCount")
val bottomData = ArrayList<String>()
val confirmed: ArrayList<Int> = ArrayList()
val restored: ArrayList<Int> = ArrayList()
val deleted: ArrayList<Int> = ArrayList()
val cal = Calendar.getInstance()
val month_date = SimpleDateFormat("MMMM")
val month_name = month_date.format(cal.time)
val currentTime =
SimpleDateFormat("dd", Locale.getDefault()).format(Date())
var lastData = "$currentTime $month_name"
Log.e("df", lastData)
Log.e(
"df",
casesTimeSeries[casesTimeSeries.size - 1].date.toString()
)
if (lastData.trim().equals(
casesTimeSeries[casesTimeSeries.size - 1].date.trim(),
true
)
) {
casesTimeSeries[casesTimeSeries.size - 1].date = "Today"
casesTimeSeries[casesTimeSeries.size - 1].totalconfirmed =
eCount.toString()
casesTimeSeries[casesTimeSeries.size - 1].totalrecovered =
cCount.toString()
casesTimeSeries[casesTimeSeries.size - 1].totaldeceased =
rCount.toString()
} else {
bottomData.add("Today")
confirmed.add(cCount)
restored.add(rCount)
deleted.add(eCount)
}
val finalDataList: ArrayList<ArrayList<Int>> = ArrayList()
for (i in casesTimeSeries.size - 1 downTo 1) {
bottomData.add(casesTimeSeries[i].date)
if (casesTimeSeries[i].totalconfirmed == "") {
confirmed.add(0)
restored.add(0)
deleted.add(0)
} else {
if (allData) {
confirmed.add(casesTimeSeries[i].totalconfirmed.toInt())
restored.add(casesTimeSeries[i].totalrecovered.toInt())
deleted.add(casesTimeSeries[i].totaldeceased.toInt())
} else {
confirmed.add(casesTimeSeries[i].dailyconfirmed.toInt())
restored.add(casesTimeSeries[i].dailyrecovered.toInt())
deleted.add(casesTimeSeries[i].dailydeceased.toInt())
}
}
}
if (arraySelection[0]) {
finalDataList.add(confirmed)
}
if (arraySelection[1]) {
finalDataList.add(restored)
}
if (arraySelection[2]) {
finalDataList.add(deleted)
}
line_view.setDrawDotLine(true)
line_view.setShowPopup(LineView.SHOW_POPUPS_All)
line_view.setBottomTextList(bottomData)
line_view.setColorArray(
getColors()
)
line_view.setDataList(finalDataList)
}
@SuppressLint("ResourceType")
fun getColors(): IntArray {
var arrayData: IntArray? = null
var intCount = 0
var intIndex = 0
if (arraySelection[0]) {
intCount += 1
}
if (arraySelection[1]) {
intCount += 1
}
if (arraySelection[2]) {
intCount += 1
}
arrayData = IntArray(intCount)
if (arraySelection[0]) {
arrayData[intIndex] = Color.parseColor(getString(R.color.colorConfirmed))
intIndex += 1
}
if (arraySelection[1]) {
arrayData[intIndex] = Color.parseColor(getString(R.color.colorRecovered))
intIndex += 1
}
if (arraySelection[2]) {
arrayData[intIndex] = Color.parseColor(getString(R.color.colorDeceased))
}
return arrayData
}
}