Kotlin中的MPAndroidChart自定义标记视图

时间:2018-07-30 22:35:29

标签: mpandroidchart

我正在将我的应用程序移植到android,并且正在使用该库的iOS版本,因此我对Android开发不太熟悉。

我试图实现此类XYMARKER,以使其与iOS应用程序中的状态类似。但是我在创建自定义类时遇到问题,这是我所拥有的:

class XYMarkerView(context: Context, xAxisValueFormatter: IAxisValueFormatter): MarkerView(context, R.layout.marker_view) {

    var tvContent: TextView
    var xAxisValueFormatter: IAxisValueFormatter
    var format: DecimalFormat

    init{
        this.xAxisValueFormatter = xAxisValueFormatter
        tvContent = findViewById(R.id.tvContent)
        format = DecimalFormat("###.0")
    }

//    fun XYMarkerView(context: Context , xAxisValueFormatter: IAxisValueFormatter) {
//
//
//        this.xAxisValueFormatter = xAxisValueFormatter
//        tvContent = findViewById(R.id.tvContent)
//        format = DecimalFormat("###.0")
//    }

    // callbacks everytime the MarkerView is redrawn, can be used to update the
    // content (user-interface)
    override fun refreshContent(e: Entry, highlight: Highlight) {

        tvContent.text = "x: " + xAxisValueFormatter.getFormattedValue(e.x, null) + ", y: " + format.format(e.y)

        super.refreshContent(e, highlight);
    }

    override fun getOffset(): MPPointF {
        return MPPointF(-(width / 2).toFloat(), -height.toFloat())
    }
}

我不确定自己在做什么错,但是我已经把它弄乱了一段时间,而且似乎无法使其正常工作。现在,当我点击一个点时,我得到了错误:

  

E / Android运行时:致命异常:主要                     流程:com.example.eic.graphtest.app,PID:24549                     java.lang.IllegalArgumentException:指定为非null的参数为null:方法kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull,参数轴

0 个答案:

没有答案