Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我能';t将Java完美地转换为Kotlin_Java_Android_Android Layout_Kotlin_Converters - Fatal编程技术网

我能';t将Java完美地转换为Kotlin

我能';t将Java完美地转换为Kotlin,java,android,android-layout,kotlin,converters,Java,Android,Android Layout,Kotlin,Converters,我是Kotlin和Java的新手 我一直在用Kotlin在Android Studio上构建GPA等级计算器并用图形显示它们 我使用hellochart lib 我无法将示例从java转换为kotlin 这是我尝试使用的示例链接 ? package com.codingdemos.codingdemos; 导入android.graphics.Color; 导入android.os.Bundle; 导入android.support.v7.app.AppActivity; 导入java.util

我是Kotlin和Java的新手

我一直在用Kotlin在Android Studio上构建GPA等级计算器并用图形显示它们

我使用hellochart lib

我无法将示例从java转换为kotlin

这是我尝试使用的示例链接 ?

package com.codingdemos.codingdemos;
导入android.graphics.Color;
导入android.os.Bundle;
导入android.support.v7.app.AppActivity;
导入java.util.ArrayList;
导入java.util.List;
导入lecho.lib.hellocharts.model.Axis;
导入lecho.lib.hellocharts.model.AxisValue;
导入lecho.lib.hellocharts.model.Line;
导入lecho.lib.hellocharts.model.LineChartData;
导入lecho.lib.hellocharts.model.PointValue;
导入lecho.lib.hellocharts.model.Viewport;
导入lecho.lib.hellocharts.view.LineChartView;
公共类MainActivity扩展了AppCompatActivity{
线条图表视图线条图表视图;
字符串[]axisData={“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”,
“八月”、“九月”、“十月”、“十一月”、“十二月”};
int[]yAxisData={50,20,15,30,20,60,15,40,45,10,90,18};
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lineChartView=findViewById(R.id.chart);
List yAxisValues=new ArrayList();
List axisValues=new ArrayList();
Line Line=新行(yAxisValues).setColor(Color.parseColor(“#9C27B0”);
对于(int i=0;i
请帮助我将其转换为Kotlin,无误:(。
谢谢

试试这段代码。希望它对你有用

class MainActivity : AppCompatActivity() {
 private var axisData: Array<String> = arrayOf(
    "Jan",
    "Feb",
    "Mar",
    "Apr",
    "May",
    "June",
    "July",
    "Aug",
    "Sept",
    "Oct",
    "Nov",
    "Dec"
)
 private var yAxisData: IntArray = intArrayOf(50, 20, 15, 30, 20, 60, 15, 40, 45, 10, 90, 18)
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)
    val yAxisValues:ArrayList<PointValue> = ArrayList()
    val axisValues:ArrayList<AxisValue> = ArrayList()

    val line = Line(yAxisValues).setColor(Color.parseColor("#9C27B0"))
    for (i in axisData.indices) {
        axisValues.add(i, AxisValue(i.toFloat()).setLabel(axisData[i]))
    }

    for (i in yAxisData.indices) {
        yAxisValues.add(PointValue(i.toFloat(), yAxisData[i].toFloat()))
    }

    val lines:ArrayList<Line> = ArrayList()
    lines.add(line)

    val data = LineChartData()
    data.lines = lines

    val axis = Axis()
    axis.values = axisValues
    axis.textSize = 16
    axis.textColor = Color.parseColor("#03A9F4")
    data.axisXBottom = axis

    val yAxis = Axis()
    yAxis.name = "Sales in millions"
    yAxis.textColor = Color.parseColor("#03A9F4")
    yAxis.textSize = 16
    data.axisYLeft = yAxis

    chart.lineChartData = data
    val viewport = Viewport(chart.maximumViewport)
    viewport.top = 110f
    chart.maximumViewport = viewport
    chart.currentViewport = viewport
}
}
class MainActivity:AppCompatActivity(){
私有变量axisData:Array=arrayOf(
“简”,
“二月”,
“三月”,
“四月”,
“五月”,
“六月”,
“七月”,
“八月”,
“九月”,
“十月”,
“11月”,
“十二月”
)
私有变量yAxisData:IntArray=intArrayOf(50,20,15,30,20,60,15,40,45,10,90,18)
重写创建时的乐趣(savedInstanceState:Bundle?){
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val yAxisValues:ArrayList=ArrayList()
val axisValues:ArrayList=ArrayList()
val line=line(yAxisValues).setColor(Color.parseColor(“#9C27B0”))
对于(axisData.index中的i){
add(i,AxisValue(i.toFloat()).setLabel(axisData[i]))
}
用于(数据索引中的i){
添加(PointValue(i.toFloat(),yAxisData[i].toFloat())
}
val行:ArrayList=ArrayList()
行。添加(行)
val数据=线形图表数据()
data.lines=行
val轴=轴()
axis.values=axisValues
axis.textSize=16
axis.textColor=Color.parseColor(“#03A9F4”)
data.axisXBottom=axis
val yAxis=轴()
yAxis.name=“以百万计的销售额”
yAxis.textColor=Color.parseColor(“#03A9F4”)
yAxis.textSize=16
data.axisYLeft=yAxis
chart.lineChartData=数据
val视口=视口(chart.maximumViewport)
viewport.top=110f
chart.maximumViewport=视口
chart.currentViewport=视口
}
}

我们可以轻松地将java项目转换为Kotlin 遵循以下步骤

将单个java文件转换为kotlin

打开java类/从项目中选择>转到工具栏>单击代码>选择将java文件转换为kotlin文件

将java项目转换为kotlin

选择应用程序表单侧菜单(参见屏幕截图)>进入工具栏>单击代码>选择将java文件转换为kotlin文件

快捷键是:Ctrl+Alt+Shift+K

kotlin文件中的某段时间显示一些错误,若要解决这些错误,请单击错误行并按Alt+Enter以显示带有解决提示的错误消息

通常,我习惯于使用

选择convert from java(从右上方)

使用此选项,您的主要活动如下所示

package com.codingdemos.codingdemos
import android.graphics.Color
import android.os.Bundle
import android.support.v7.app.AppCompatActivity
import java.util.ArrayList
import lecho.lib.hellocharts.model.Axis
import lecho.lib.hellocharts.model.AxisValue
import lecho.lib.hellocharts.model.Line
import lecho.lib.hellocharts.model.LineChartData
import lecho.lib.hellocharts.model.PointValue
import lecho.lib.hellocharts.model.Viewport
import lecho.lib.hellocharts.view.LineChartView
class MainActivity:AppCompatActivity() {
  internal var lineChartView:LineChartView
  internal var axisData = arrayOf<String>("Jan", "Feb", "Mar", "Apr", "May", "June", "July", "Aug", "Sept", "Oct", "Nov", "Dec")
  internal var yAxisData = intArrayOf(50, 20, 15, 30, 20, 60, 15, 40, 45, 10, 90, 18)
  protected fun onCreate(savedInstanceState:Bundle) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)
    lineChartView = findViewById(R.id.chart)
    val yAxisValues = ArrayList()
    val axisValues = ArrayList()
    val line = Line(yAxisValues).setColor(Color.parseColor("#9C27B0"))
    for (i in axisData.indices)
    {
      axisValues.add(i, AxisValue(i).setLabel(axisData[i]))
    }
    for (i in yAxisData.indices)
    {
      yAxisValues.add(PointValue(i, yAxisData[i]))
    }
    val lines = ArrayList()
    lines.add(line)
    val data = LineChartData()
    data.setLines(lines)
    val axis = Axis()
    axis.setValues(axisValues)
    axis.setTextSize(16)
    axis.setTextColor(Color.parseColor("#03A9F4"))
    data.setAxisXBottom(axis)
    val yAxis = Axis()
    yAxis.setName("Sales in millions")
    yAxis.setTextColor(Color.parseColor("#03A9F4"))
    yAxis.setTextSize(16)
    data.setAxisYLeft(yAxis)
    lineChartView.setLineChartData(data)
    val viewport = Viewport(lineChartView.getMaximumViewport())
    viewport.top = 110
    lineChartView.setMaximumViewport(viewport)
    lineChartView.setCurrentViewport(viewport)
  }
}
package com.codingdemos.codingdemos
导入android.graphics.Color
导入android.os.Bundle
导入android.support.v7.app.AppActivity
导入java.util.ArrayList
导入lecho.lib.hellocharts.model.Axis
导入lecho.lib.hellocharts.model.AxisValue
导入lecho.lib.hellocharts.model.Line
导入lecho.lib.hellocharts.model.LineChartData
导入lecho.lib.hellocharts.model.PointValue
导入lecho.lib.hellocharts.model.Viewport
导入lecho.lib.hellocharts.view.LineChartView
类MainActivity:AppCompatActivity(){
内部变量lineChartView:lineChartView
内部var axisData=arrayOf(“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”、“八月”、“九月”、“十月”、“十一月”、“十二月”)
内部var yAxisData=intArrayOf(50,20,15,30,20,60,15,40,45,10,90,18)
创建时受保护的乐趣(savedInstanceState:Bundle){
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
lineChartView=fin
package com.codingdemos.codingdemos
import android.graphics.Color
import android.os.Bundle
import android.support.v7.app.AppCompatActivity
import java.util.ArrayList
import lecho.lib.hellocharts.model.Axis
import lecho.lib.hellocharts.model.AxisValue
import lecho.lib.hellocharts.model.Line
import lecho.lib.hellocharts.model.LineChartData
import lecho.lib.hellocharts.model.PointValue
import lecho.lib.hellocharts.model.Viewport
import lecho.lib.hellocharts.view.LineChartView
class MainActivity:AppCompatActivity() {
  internal var lineChartView:LineChartView
  internal var axisData = arrayOf<String>("Jan", "Feb", "Mar", "Apr", "May", "June", "July", "Aug", "Sept", "Oct", "Nov", "Dec")
  internal var yAxisData = intArrayOf(50, 20, 15, 30, 20, 60, 15, 40, 45, 10, 90, 18)
  protected fun onCreate(savedInstanceState:Bundle) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)
    lineChartView = findViewById(R.id.chart)
    val yAxisValues = ArrayList()
    val axisValues = ArrayList()
    val line = Line(yAxisValues).setColor(Color.parseColor("#9C27B0"))
    for (i in axisData.indices)
    {
      axisValues.add(i, AxisValue(i).setLabel(axisData[i]))
    }
    for (i in yAxisData.indices)
    {
      yAxisValues.add(PointValue(i, yAxisData[i]))
    }
    val lines = ArrayList()
    lines.add(line)
    val data = LineChartData()
    data.setLines(lines)
    val axis = Axis()
    axis.setValues(axisValues)
    axis.setTextSize(16)
    axis.setTextColor(Color.parseColor("#03A9F4"))
    data.setAxisXBottom(axis)
    val yAxis = Axis()
    yAxis.setName("Sales in millions")
    yAxis.setTextColor(Color.parseColor("#03A9F4"))
    yAxis.setTextSize(16)
    data.setAxisYLeft(yAxis)
    lineChartView.setLineChartData(data)
    val viewport = Viewport(lineChartView.getMaximumViewport())
    viewport.top = 110
    lineChartView.setMaximumViewport(viewport)
    lineChartView.setCurrentViewport(viewport)
  }
}
class MainActivity : AppCompatActivity() {
    private val axisData = listOf(
        "Jan", "Feb", "Mar", "Apr", "May", "June", "July", "Aug", "Sept", "Oct", "Nov", "Dec"
    )
    private val yAxisData = listOf(50, 20, 15, 30, 20, 60, 15, 40, 45, 10, 90, 18)

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val lineChartView = findViewById(R.id.chart)

        val axisValues = axisData.mapIndexed { i, data -> AxisValue(i).setLabel(data) }
        val yAxisValues = yAxisData.mapIndexed { i, data -> PointValue(i, data) }

        val line = Line(yAxisValues).setColor(Color.parseColor("#9C27B0"))
        val lines = listOf(line)

        val data = LineChartData()
        data.setLines(lines)

        val axis = Axis().apply {
            setValues(axisValues)
            setTextSize(16)
            setTextColor(Color.parseColor("#03A9F4"))
        }
        data.setAxisXBottom(axis)

        val yAxis = Axis().apply {
            setName("Sales in millions")
            setTextColor(Color.parseColor("#03A9F4"))
            setTextSize(16)
        }
        data.setAxisYLeft(yAxis)

        lineChartView.setLineChartData(data)
        val viewport = Viewport(lineChartView.getMaximumViewport())
        viewport.top = 110
        lineChartView.setMaximumViewport(viewport)
        lineChartView.setCurrentViewport(viewport)
    }
}