package com.example.alertdialog
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import android.widget.*
import androidx.databinding.DataBindingUtil
import com.example.alertdialog.databinding.ActivityMainBinding
class MainActivity : AppCompatActivity() {
private lateinit var binding : ActivityMainBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = DataBindingUtil.setContentView(this,R.layout.activity_main)
val startDate = findViewById<TextView>(R.id.startDate)
val endDate = findViewById<TextView>(R.id.endDate)
// mainBtn을 누르고 StartDate값을 입력받음
binding.mainBtn.setOnClickListener {
val intent = Intent(this, StartDateActivity::class.java)
// StartDate값은 입력받아야 하니 EndDate값만 보냄
intent.putExtra("MaintoEndDate", endDate.text.toString())
startActivity(intent)
}
// mainBtn2을 누르고 EndDate값을 입력받음
binding.mainBtn2.setOnClickListener {
val intent = Intent(this, EndDateActivity::class.java)
// EndDate값은 입력받아야 하니 StartDate값만 보냄
intent.putExtra("MaintoStartDate", startDate.text.toString())
startActivity(intent)
}
// EndDateActivity에서 보낸 값을 화면에 표시
if (intent.getStringExtra("JudgetoMain") == "EndtoMain"){
val a = intent.getStringExtra("StartDatetoMain")
val b = intent.getStringExtra("EndDatetoMain")
// Log.d("TAGGGGG", "end에서 가져온 startdate의 값 : " + a.toString())
// Log.d("TAGGGGG", "end에서 가져온 enddate의 값 : " + b.toString())
startDate.text = a
endDate.text = b
}
// StartDateActivity에서 보낸 값을 화면에 표시
else if (intent.getStringExtra("JudgetoMain") == "StarttoMain"){
val a = intent.getStringExtra("StartDatetoMain")
val b = intent.getStringExtra("EndDatetoMain")
// Log.d("TAGGGGG", "start에서 가져온 startdate의 값 : " + a.toString())
// Log.d("TAGGGGG", "start에서 가져온 enddate의 값 : " + b.toString())
startDate.text = a
endDate.text = b
}
}
}
package com.example.alertdialog
import android.annotation.SuppressLint
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import android.view.View
import android.view.Window
import android.widget.Button
import android.widget.DatePicker
import android.widget.TextView
import java.util.*
class StartDateActivity : AppCompatActivity(), View.OnClickListener {
@SuppressLint("SetTextI18n", "MissingInflatedId")
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
requestWindowFeature( Window.FEATURE_NO_TITLE );
setContentView(R.layout.activity_start_date)
val button = findViewById<Button>(R.id.button)
button.setOnClickListener(this)
}
@SuppressLint("SetTextI18n")
//Dialog의 Button을 눌렀을 때
override fun onClick(view: View?) {
val textView = findViewById<TextView>(R.id.textView)
val datePicker = findViewById<DatePicker>(R.id.datePicker)
val endDate = intent.getStringExtra("MaintoEndDate")
// Log.d("TAGGGGG", "Main에서 가져온 startdate의 값 : " + a.toString())
// Log.d("TAGGGGG", "Main에서 가져온 enddate의 값 : " + b.toString())
textView.text = datePicker.year.toString() + "/" +
(datePicker.month + 1).toString() + "/" + datePicker.dayOfMonth.toString()
val intent = Intent(this, MainActivity::class.java)
intent.putExtra("JudgetoMain", "StarttoMain")
intent.putExtra("StartDatetoMain", textView.text.toString())
intent.putExtra("EndDatetoMain", endDate.toString())
startActivity(intent)
}
}
package com.example.alertdialog
import android.annotation.SuppressLint
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import android.view.View
import android.view.Window
import android.widget.Button
import android.widget.DatePicker
import android.widget.TextView
import androidx.core.content.ContextCompat.startActivity
import java.util.*
class EndDateActivity : AppCompatActivity(), View.OnClickListener {
@SuppressLint("SetTextI18n", "MissingInflatedId")
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
requestWindowFeature( Window.FEATURE_NO_TITLE );
setContentView(R.layout.activity_start_date)
val button = findViewById<Button>(R.id.button)
button.setOnClickListener(this)
}
@SuppressLint("SetTextI18n")
//Dialog의 Button을 눌렀을 때
override fun onClick(view: View?) {
val textView2 = findViewById<TextView>(R.id.textView)
val datePicker2 = findViewById<DatePicker>(R.id.datePicker)
val startDate = intent.getStringExtra("MaintoStartDate")
// Log.d("TAGGGGG", "Main에서 가져온 startdate의 값 : " + a.toString())
// Log.d("TAGGGGG", "Main에서 가져온 enddate의 값 : " + b.toString())
textView2.text = datePicker2.year.toString() + "/" +
(datePicker2.month + 1).toString() + "/" + datePicker2.dayOfMonth.toString()
val intent = Intent(this, MainActivity::class.java)
intent.putExtra("JudgetoMain", "EndtoMain")
intent.putExtra("StartDatetoMain", startDate.toString())
intent.putExtra("EndDatetoMain", textView2.text.toString())
startActivity(intent)
}
}
https://github.com/kimnahee1529/AndroidFunction/tree/master/AlertDialog_DatePicker
잘보고갑니다..DatePicker를 알아갑니다.