반응형
package TipCalculator.gohool.tipcalculator;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.SeekBar;
import android.widget.TextView;
import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    private EditText plain;
    private SeekBar seekBar;
    private TextView seekTextView;
    private Button btn;
    private TextView result;
    private int seekPercentage;
    private float enteredBillFloat;

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

        plain = (EditText) findViewById(R.id.plainId);
        seekBar = (SeekBar) findViewById(R.id.seekBar);
        seekTextView = (TextView) findViewById(R.id.seekBarTextView);
        btn = (Button) findViewById(R.id.btn);
        result = (TextView) findViewById(R.id.result);

        btn.setOnClickListener(this);

        seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
            @Override
            public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
                //0~100까지 설정하는데, 필요에의해 max=20까지 설정 xml에서.
                //조작하고 있는 중 작동
                seekTextView.setText(String.valueOf(seekBar.getProgress() + "%"));
            }

            @Override
            public void onStartTrackingTouch(SeekBar seekBar) {
                //조작하기 시작했을 때 작동
            }

            @Override
            public void onStopTrackingTouch(SeekBar seekBar) {
                //조작을 마무리했을 때 작동
                seekPercentage = seekBar.getProgress();
            }
        });
    }

    @Override
    public void onClick(View v) {
        control();
    }

    public void control() {
        float resultReset = 0.0f;
        if(!plain.getText().toString().equals("")) {
            //plain을 float으로 변환해서 넣어주고, 둘이 곱해서 넣어주고, 다시 스트링으로 변환해서 뽑아주고
            enteredBillFloat = Float.parseFloat(plain.getText().toString());
            resultReset = enteredBillFloat * seekPercentage / 100;
            result.setText( String.valueOf(resultReset) + "원");
        } else {
            Toast.makeText(MainActivity.this, "fuck you", Toast.LENGTH_SHORT).show();
        }



    }
}

 implements는 인터페이스를 구현하는 것이다. 인터페이스와 보통 클래스의 차이는 인터페이스는 정의한 메소드를 구현하지 않아도 된다. 인터페이스를 상속받는 클래스에서 인터페이스에 정의된 메소드를 구현하면 된다라는 구글 검색.

 

구현 후,

btn.setOnClickListener(this);

라는 코드 한 줄 그리고

@Override
public void onClick(View v) {
control();
}

해서 버튼 이벤트를 만들 수 있다.

 

seekTextView.setText(String.valueOf(seekBar.getProgress() + "%"));

int인 seekBar의 값으 가져올때 String 으로 변환 하여 seekTextView에 넣어준다.

 

 

이하 결과.

구현된 어플

반응형

'개발언어 > JAVA' 카테고리의 다른 글

안드로이드 다른 화면으로 이동하기  (0) 2020.12.03
안드로이드 화면 추가  (0) 2020.12.03
자바 창끄기, alertdialog 만들기  (0) 2020.11.18
자바 체크박스 만들기  (0) 2020.11.18
자바 토글버튼 사용법  (0) 2020.11.16

+ Recent posts