DatePickerDialog
- 날짜 정보를 보여준다.
TimePickerDialog
- 시간 정보를 보여준다.
각자 TIME 과 DATE 버튼을 눌렀을 때 PickerDialog가 동작하여 시간/날짜 설정후 TextView로 보여주는 과정
xml에서 android:onClick="mOnClick"을 넣어줘야 함
<?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">
<TextView
android:id="@+id/textResult"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Result"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/btnSelectData"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="91dp"
android:text="Date"
android:onClick="mOnClick"
app:layout_constraintBaseline_toBaselineOf="@+id/btnSelectTime"
app:layout_constraintEnd_toEndOf="parent" />
<Button
android:id="@+id/btnSelectTime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="44dp"
android:layout_marginEnd="44dp"
android:text="Time"
android:onClick="mOnClick"
app:layout_constraintEnd_toStartOf="@+id/btnSelectData"
app:layout_constraintTop_toBottomOf="@+id/textResult" />
</androidx.constraintlayout.widget.ConstraintLayout>
updateResult()함수를 통해 textView에 결과값을 나타낸다.
public class MainActivity extends AppCompatActivity {
private String mStrDate ="date";
private String mStrTime ="time";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
updateResult();
Button btnDate = (Button)findViewById(R.id.btnSelectData);
Button btnTime = (Button)findViewById(R.id.btnSelectTime);
}
private void updateResult(){
TextView textResult = (TextView)findViewById(R.id.textResult);
textResult.setText("날짜 : "+mStrDate +"\n"+ "시간 : "+mStrTime);
}
public void mOnClick(View v){
Calendar calendar = Calendar.getInstance();
switch (v.getId()){
case R.id.btnSelectData:
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int day = calendar.get(Calendar.DAY_OF_MONTH);
new DatePickerDialog(this,mDateSetListener,year,month,day).show();
break;
case R.id.btnSelectTime:
int hour = calendar.get(Calendar.HOUR_OF_DAY);
int minute = calendar.get(Calendar.MINUTE);
new TimePickerDialog(this,mTimeSetListener,hour,minute,true).show();
break;
}
}
private DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener(){
@Override
public void onDateSet(DatePicker datePicker, int year, int month, int dayOfMonth) {
mStrDate = String.format("%d년 %d월 %d일",year,month+1,dayOfMonth);
updateResult();
}
};
private TimePickerDialog.OnTimeSetListener mTimeSetListener = new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker timePicker, int hourOfDay, int minute) {
mStrTime= String.format("%d시 %d분",hourOfDay,minute);
updateResult();
}
};
}
처음 실행 모습
TIME버튼 눌렀을 때
DATE버튼 눌렀을 때
바뀐 TextView
'대외 활동 > CADI(개발A 보충스터디)' 카테고리의 다른 글
스토리 안드로이드 앱의 화면 전환 애니메이션 적용기 (0) | 2020.11.22 |
---|---|
안드로이드 버전 카카오 T SDK 개발기 (0) | 2020.11.22 |
CustomListView-3(kotlin) (0) | 2020.10.27 |
CustomListView-2 (ViewHolder사용하기) (0) | 2020.10.27 |
CustomListView - 1(java) (0) | 2020.10.27 |