디데이어플에서 날짜계산이 안됩니다..
219
작성한 질문수 5
실행을 했는데 앱 꺼짐없이 실행은 잘되나
마지막 강의까지 듣고 코드를 수정했는데
갑자기 날짜 계산값이 다 0으로 출력됩니다.
어딘가 오류가 있는 듯 한데.. 못 찾겠네요. ㅠㅠ
package com.sunny.dday
import android.app.DatePickerDialog
import android.os.Build
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import android.widget.Button
import android.widget.DatePicker
import android.widget.TextClock
import android.widget.TextView
import androidx.annotation.RequiresApi
import java.time.Month
import java.util.Calendar
import java.util.GregorianCalendar
import java.util.concurrent.TimeUnit
class MainActivity : AppCompatActivity() {
@RequiresApi(Build.VERSION_CODES.N)
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val startButton = findViewById<Button>(R.id.startBtn)
val endButton = findViewById<Button>(R.id.endBtn)
var startDate = ""
var endDate = ""
val calendar_start = Calendar.getInstance()
val calendar_end = Calendar.getInstance()
startButton.setOnClickListener {
val today = GregorianCalendar()
val year = today.get(Calendar.YEAR)
val month = today.get(Calendar.MONTH)
val day = today.get(Calendar.DATE)
val dlg = DatePickerDialog(this, object : DatePickerDialog.OnDateSetListener {
override fun onDateSet(view: DatePicker?, year: Int, month: Int, dayOfMonth: Int) {
// startDate = "${year} + ${month+1} + ${dayofMonth}"
startDate = year.toString() + (month + 1).toString() + dayOfMonth.toString()
calendar_start.set(year, month + 1, dayOfMonth)
Log.d("day : ", startDate)
}
}, year, month, day)
dlg.show()
}
endButton.setOnClickListener {
val today = GregorianCalendar()
val year = today.get(Calendar.YEAR)
val month = today.get(Calendar.MONTH)
val day = today.get(Calendar.DATE)
val dlg = DatePickerDialog(this, object : DatePickerDialog.OnDateSetListener {
override fun onDateSet(view: DatePicker?, year: Int, month: Int, dayOfMonth: Int) {
// endDate = "${year} + ${month+1} + ${dayofMonth}"
endDate = year.toString() + (month + 1).toString() + dayOfMonth.toString()
calendar_end.set(year, month + 1, dayOfMonth)
val finalDate = TimeUnit.MICROSECONDS.toDays(calendar_end.timeInMillis - calendar_start.timeInMillis)
Log.d("day : ", endDate)
val textArea = findViewById<TextView>(R.id.finalDate)
textArea.setText(finalDate.toString())
Log.d("finalday : ", finalDate.toString())
}
}, year, month, day)
dlg.show()
}
}
}
답변 1
0
xml 파일도 공유해주시면 저도 실행해보겠습니다!
0
<?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/textView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="D-Day Counter"
android:textSize="20dp"
android:textStyle="bold"
app:layout_constraintBottom_toTopOf="@+id/imageView"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/imageView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="50dp"
android:scaleType="fitXY"
android:src="@drawable/bg"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/finalDate"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="0 day"
android:textSize="30sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toTopOf="@+id/textView"
app:layout_constraintVertical_bias="0.375"
tools:layout_editor_absoluteX="0dp" />
<Button
android:id="@+id/startBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:background="@drawable/radius"
android:text="Start Date"
android:textSize="15sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<Button
android:id="@+id/endBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:layout_marginBottom="4dp"
android:background="@drawable/radius"
android:text="D-day date"
android:textStyle="bold"
android:textSize="15sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
0
// val finalDate = TimeUnit.MICROSECONDS.toDays(calendar_end.timeInMillis - calendar_start.timeInMillis)
val finalDate = TimeUnit.MILLISECONDS.toDays(calendar_end.timeInMillis - calendar_start.timeInMillis)위의 부분의 아래처럼 변경해보시겠어요?
주사위앱 소개 및 레이아웃 설정 문제
0
60
2
안드로이드 에뮬레이터가 실행이 안 되요...ㅠ
0
105
2
30 강 소스 좀 올려 주십시요
0
81
2
onBackPressed 함수가 동영상 하고 다르게 동작합니다.
0
91
2
ListView 초기 실행 안됩니다.
0
96
2
코딩을 완료하고난후 앱 실행시 자동 종료
0
72
2
datavinding에서 오류가 납니다.
0
53
1
안드로이드 스튜디오 버전 차이로 초기 empyt activity 선택하면 안됩니다.
0
113
2
context의 구별에 대하여
0
69
2
"프롤로그에서 ..." 오류 관련해 직전 질문에 대한 추가 질문입니다.
0
69
2
"프롤로그에서 콘텐츠가 허용되지 않습니다." 오류
0
158
3
해결완료
1
186
2
databinding 설정후 run하면 에러(해결)
0
222
2
databinding 설정 이후 실행시 에러
0
272
4
안드로이드 입문하는 사람입니다.
0
71
1
Firebase uid
0
78
3
activity_main 화면 다름
0
114
2
강의화면과 다른데 맞게진행되는것인가요...????
0
106
2
파이어베이스 질문
0
75
2
ActivityMainBinding에 오류가 납니다
0
136
2
선생님 onBackPressed 작동이 안되는거 같습니다
0
119
2
>app>res>layout 이 존재하지 않습니다.
0
119
2
안드로이드 스튜디오 미어캣 버전 사용 한글 깨짐
0
748
2
안드로이드 스튜디오 오류 발생 시 대처 방법은 요?
0
289
2





