자바 이클립스로 안드로이드 프로그래밍 중인데..
calendar 이용해서 원하는 날짜 클릭하면 이 값을 저장하고 출력한는걸 해보고 있습니다.
출발일과 도착일을 구분하기 위한것을 달력 형태로 표현하면 편할거 같아 해보았는데요
몇가지 질문사항이 있습니다!!
여기에서 java.util.Calendar를 임포트 하게 되면 그 달력의 모양은 바꿀수 없나요?
1. 달력의 디자인을 바꾸기 위해서는 어떻게 해야하나요?
2. 출발일을 선택하고 난 후 도착일을 선택 할 때 출발일 이후로만 선택을 할 수 있도록 하려면
어떤식으로 프로그래밍 해야하나요?
(.java 소스와 .xml소스 같이 올려 봅니다)
아.. 그리고 마지막으로..
============================== .java 파일==========================
package kr.booknair.pypproto;
import java.util.Calendar;
import java.util.GregorianCalendar;
import android.app.Activity;
import android.app.DatePickerDialog;
import android.os.Bundle;
import android.view.View;
import android.widget.DatePicker;
import android.widget.TextView;
public class FlightDate extends Activity {
int leaYear, leaMonth, leaDay, arrYear, arrMonth, arrDay;
TextView levdate;
TextView arrdate;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.flight_date);
levdate = (TextView)findViewById(R.id.leavedate);
arrdate = (TextView)findViewById(R.id.arrivedate);
Calendar leacal = new GregorianCalendar();
leaYear = leacal.get(Calendar.YEAR);
leaMonth = leacal.get(Calendar.MONTH);
leaDay = leacal.get(Calendar.DAY_OF_MONTH);
Calendar arrcal = new GregorianCalendar();
arrYear = arrcal.get(Calendar.YEAR);
arrMonth = arrcal.get(Calendar.MONTH);
arrDay = arrcal.get(Calendar.DAY_OF_MONTH);
UpdateNow();
}
public void mOnClick(View v) {
int id = v.getId();
if(id==R.id.btn_leave_date){
new DatePickerDialog(this, DateSetListener,
leaYear, leaMonth, leaDay).show();
}
else if(id==R.id.btn_arrive_date){
new DatePickerDialog(this, arrDateSetListener,
arrYear, arrMonth, arrDay).show();
}
}
DatePickerDialog.OnDateSetListener DateSetListener =
new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
leaYear = year;
leaMonth = monthOfYear;
leaDay = dayOfMonth;
UpdateNow();
}
};
DatePickerDialog.OnDateSetListener arrDateSetListener =
new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
arrYear = year;
arrMonth = monthOfYear;
arrDay = dayOfMonth;
UpdateNow();
}
};
void UpdateNow() {
levdate.setText(String.format("%d/%d/%d", leaYear,
leaMonth + 1, leaDay));
arrdate.setText(String.format("%d/%d/%d", arrYear,
arrMonth + 1, arrDay));
}
}
================================ .xml 파일 ==============================
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="
http://schemas.android.com/apk/res/android"
xmlns:tools="
http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
tools:context=".Flightdate"
>
<Button
android:id="@+id/btn_leave_date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="mOnClick"
android:text="출발일 변경"
/>
<TextView
android:id="@+id/leavedate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20sp"
android:text="levdate"
/>
<Button
android:id="@+id/btn_arrive_date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="mOnClick"
android:text="도착일 변경"
/>
<TextView
android:id="@+id/arrivedate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20sp"
android:text="arrdate"
/>
</LinearLayout>