728x90
오늘은 NumberPicker 사용하는 방법을 포스팅하겠습니다.
전체코드
public class MainActivity extends AppCompatActivity {
// NumberPicker 객체 선언
NumberPicker numberPicker;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
numberPicker = (NumberPicker) findViewById(R.id.numberPicker);
}
@Override
protected void onStart() {
super.onStart();
// NumberPicker 초기화 메서드 호출
initNumberPicker();
// NumberPicker의 값 변경 리스너 설정 메서드 호출
numberPickerListener();
}
// NumberPicker 초기화
private void initNumberPicker() {
// 0부터 99까지의 값을 담은 문자열 배열 생성
String[] data1 = new String[100];
for (int i = 0; i < data1.length; i++) {
data1[i] = String.valueOf(i);
}
// NumberPicker의 최솟값을 0으로 설정
numberPicker.setMinValue(0);
// 배열의 크기에 맞게 최댓값 설정 (마지막 인덱스 값)
numberPicker.setMaxValue(data1.length - 1);
// 선택 가능한 값들이 순환되지 않도록 설정
numberPicker.setWrapSelectorWheel(false);
// NumberPicker에 표시될 값들을 설정한 배열로 지정
numberPicker.setDisplayedValues(data1);
}
// NumberPicker 값 변경 리스너 설정
private void numberPickerListener() {
// 값 변경 시 호출될 리스너 설정
numberPicker.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() {
@Override
public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
// 이전 값과 새로운 값 로깅
Log.d("test", "oldVal : " + oldVal + ", newVal : " + newVal);
// 현재 선택된 값을 로깅
Log.d("test", "picker.displayedValues " + picker.getDisplayedValues()[picker.getValue()]);
}
});
}
}
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<NumberPicker
android:id="@+id/numberPicker"
android:layout_width="110dp"
android:layout_height="110dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
'안드로이드 자바' 카테고리의 다른 글
[JAVA][Android] 카카오 지도 API Android v2 사용하기 (0) | 2024.04.13 |
---|---|
[Android][Java] 플래시 라이트 (2) | 2024.02.28 |
[Android][Java] 사운드 재생 (2) | 2024.02.08 |
[Android][Java] 로고 애니메이션 넣어주기 (0) | 2024.02.02 |
[Android][Java] 그림 그리기 (2) | 2024.01.30 |