AndroidCharts загружается справа налево, а не слева направо - PullRequest
0 голосов
/ 17 апреля 2020

Я использую эту библиотеку в своем приложении, но диаграмма показывает данные справа налево, а левый край показывает недавний элемент. Я хочу, чтобы он отображал данные слева направо.

Т.е. он должен показывать 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
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...