简体   繁体   中英

how to convert kotlin code to java format for android

I don't know kotlin, I had convert the kotlin code in java and paste that code but there is lots of confusion to read that bytecode. can anyone help me, please to convert this code.

please convert this code in 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)
        }
    }
}

I have written the basic code, Its upto you to take it to next level. Here you have to implement your onclick listner and for loop

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);

    }
}

I think this is how it should be, it's up to you to change, It depends on your needs.

class MainActivity extends AppCompatActivity {

        private SevenSegmentView sv;

        private LinearLayout colorPicker;


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

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);

            setContentView(R.layout.activity_main)

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

            sv.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    int next = (sv.getCurrentValue() + 1) % 10;
                    sv.setCurrentValue(next);
                }
            });

            colorPicker = findViewById(R.id.color_picker);

            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.setOnColor(color);
                        sv.setOffColor(Color.argb(50, Color.red(color), Color.green(color), Color.blue(color)));
                    }
                });
                button.setBackgroundColor(color);
                colorPicker.addView(button);
            }
        }
    }
import android.graphics.Color;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
import android.widget.LinearLayout;

import androidx.appcompat.app.AppCompatActivity;

import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity {

    List<Integer> colors = new ArrayList<Integer>() {{
        add(Color.GREEN);
        add(Color.BLUE);
        add(Color.WHITE);
    }};

    LinearLayout colorPicker;

    SevenSegmentView  sv;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main3);


         colorPicker = (LinearLayout) findViewById(R.id.color_picker);
          sv = (SevenSegmentView) findViewById(R.id.display);
        sv.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v)
            {
                //DO SOMETHING! 
            }
        });

        for (Integer color : colors) {
            Button myButton = new Button(this);
            myButton.setText("Color");


            LayoutInflater inflater = LayoutInflater.from(this); // 1
            myButton = inflater.inflate(R.layout.color_picker_item, colorPicker, false);

            myButton.setOnClickListener(new View.OnClickListener() {
                public void onClick(View v) {
                    //DO SOMETHING! 
                }
            });
            myButton.setBackgroundColor(color)
            colorPicker.addView(myButton);


        }
    }

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM