반응형
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 |