java - 如何将kotlin代码转换为android的java格式

标签 java android kotlin seven-segment-display

我不知道 kotlin,我已经在 java 中转换了 kotlin 代码并粘贴了该代码,但是读取该字节码时有很多困惑。任何人都可以帮助我,请转换此代码。

请用java转换这段代码 https://github.com/supercoffee/seven-segment-view/blob/master/sevensegmentview.example/src/main/java/com/bendaschel/sevensegmentview/example/MainActivity.kt

package com.bendaschel.sevensegmentview.example

import android.graphics.Color
import android.os.Bundle
import android.support.v7.app.AppCompatActivity
import android.widget.LinearLayout
import com.bendaschel.example.R
import com.bendaschel.sevensegmentview.SevenSegmentView


class MainActivity : AppCompatActivity() {

    private lateinit var sv: SevenSegmentView

    private lateinit var colorPicker: LinearLayout

    private val colors = listOf<Int>(Color.GREEN, Color.BLUE, Color.RED, Color.MAGENTA, Color.YELLOW)

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

        sv = findViewById(R.id.display) as SevenSegmentView

        sv.setOnClickListener {
            val next = (sv.currentValue + 1) % 10
            sv.currentValue = next
        }

        colorPicker = findViewById(R.id.color_picker) as LinearLayout
        colors.forEach { color ->
            val button = layoutInflater.inflate(R.layout.color_picker_item, colorPicker, false)
            button.setOnClickListener {
                sv.onColor = color
                sv.offColor = Color.argb(50, Color.red(color), Color.green(color), Color.blue(color))
            }
            button.setBackgroundColor(color)
            colorPicker.addView(button)
        }
    }
}

最佳答案

我已经编写了基本代码,接下来就看你如何提升了。 在这里你必须实现你的 onclick 监听器和 for 循环

public class temp extends AppCompatActivity {

    SevenSegmentView sv;
    LinearLayout colorPicker;

  Integer[] colors ={Color.GREEN, Color.BLUE, Color.RED, Color.MAGENTA, Color.YELLOW};

);

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        sv = (SevenSegmentView) findViewById(R.id.display);
        colorPicker = (LinearLayout)findViewById(R.id.color_picker);

 sv.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    int next = (sv.currentValue + 1) % 10;
                    sv.currentValue = next;
                }
            });
      for (Integer color: colors) {
        Button button = getLayoutInflater().inflate(R.layout.color_picker_item, colorPicker, false);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                sv.onColor = color;
                sv.offColor = Color.argb(50, Color.red(color), Color.green(color), Color.blue(color));
            }
        }); 

        button.setBackgroundColor(color);
        colorPicker.addView(button);

    }
}

关于java - 如何将kotlin代码转换为android的java格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59104260/

相关文章:

java - 识别 'null' 是否是故意在输入 JSON 上设置的

Java:一个 UUID 生成单例

java - 尝试让人工智能使用目标优先系统

android - ArgumentMatchers.any 不能为空

java - 你如何处理跨越周末和非工作时间的时间序列

android - 如何更改 Android 中滚动条的颜色?

android - Android Studio 中 Navigation Drawer Preview 渲染问题

java - 分配 ListView ID 错误 - Android Studio

kotlin - 在 kotlin 中是否可以将委托(delegate)分配给 init block 中的属性?

retrofit - Kotlin 特性和改造