package com.example.traindemo;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
import com.example.traindemo.util.EditTextWithDate;
import android.os.Bundle;
import android.provider.CalendarContract;
import android.app.Activity;
import android.app.DatePickerDialog;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends Activity implements OnCheckedChangeListener {
Button bt;
EditText et_start, et_end;
CheckBox cb_G, cb_D, cb_Z, cb_T, cb_K, cb_Q;
TextView tv_date;
// 用来保存年月日:
private int year;
private int month;
private int day;
// 声明一个独一无二的标识,来作为要显示DatePicker的Dialog的ID:
static final int DATE_DIALOG_ID = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init();
bt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
System.out.println("日期:" + tv_date.getText().toString());
System.out.println("et_start:" + et_start.getText().toString());
System.out.println("et_end:" + et_end.getText().toString());
System.out.println("cb_G:" + cb_G.getText().toString());
}
});
tv_date.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
/**
* 构造函数原型: public DatePickerDialog (Context context,
* DatePickerDialog.OnDateSetListener callBack, int year, int
* monthOfYear, int dayOfMonth) content组件运行Activity,
* DatePickerDialog.OnDateSetListener:选择日期事件
* year:当前组件上显示的年,monthOfYear:当前组件上显示的月,dayOfMonth:当前组件上显示的第几天
*/
// 创建DatePickerDialog对象
DatePickerDialog dpd = new DatePickerDialog(MainActivity.this,
Datelistener, year, month, day);
dpd.show();// 显示DatePickerDialog组件
}
});
}
private void init() {
bt = (Button) findViewById(R.id.button1);
et_start = (EditText) findViewById(R.id.editText_start);
et_end = (EditText) findViewById(R.id.editText_end);
// et_date = (EditText) findViewById(R.id.editText_date);
tv_date = (TextView) findViewById(R.id.textView_date);
cb_G = (CheckBox) findViewById(R.id.checkBox_G);
cb_D = (CheckBox) findViewById(R.id.checkBox_D);
cb_Z = (CheckBox) findViewById(R.id.checkBox_Z);
cb_T = (CheckBox) findViewById(R.id.checkBox_T);
cb_K = (CheckBox) findViewById(R.id.checkBox_K);
cb_Q = (CheckBox) findViewById(R.id.checkBox_Q);
// et_start.setOnClickListener(this);
// et_end.setOnClickListener(this);
// tv_date.setOnClickListener(this);
cb_G.setOnCheckedChangeListener(this);
cb_D.setOnCheckedChangeListener(this);
cb_Z.setOnCheckedChangeListener(this);
cb_T.setOnCheckedChangeListener(this);
cb_K.setOnCheckedChangeListener(this);
cb_Q.setOnCheckedChangeListener(this);
// 初始化Calendar日历对象
Calendar mycalendar = Calendar.getInstance(Locale.CHINA);
Date mydate = new Date(); // 获取当前日期Date对象
mycalendar.setTime(mydate);// //为Calendar对象设置时间为当前日期
year = mycalendar.get(Calendar.YEAR); // 获取Calendar对象中的年
month = mycalendar.get(Calendar.MONTH);// 获取Calendar对象中的月
day = mycalendar.get(Calendar.DAY_OF_MONTH);// 获取这个月的第几天
// tv_date.setText(year+"-"+(month+1)+"-"+day); //显示当前的年月日
}
/**
* 日期获得
*/
private DatePickerDialog.OnDateSetListener Datelistener = new DatePickerDialog.OnDateSetListener() {
/**
* params:view:该事件关联的组件 params:myyear:当前选择的年 params:monthOfYear:当前选择的月
* params:dayOfMonth:当前选择的日
*/
@Override
public void onDateSet(DatePicker view, int myyear, int monthOfYear,
int dayOfMonth) {
// 修改year、month、day的变量值,以便以后单击按钮时,DatePickerDialog上显示上一次修改后的值
year = myyear;
month = monthOfYear;
day = dayOfMonth;
// 更新日期
updateDate();
}
// 当DatePickerDialog关闭时,更新日期显示
private void updateDate() {
// 在TextView上显示日期
tv_date.setText(year + "-" + (month + 1) + "-" + day);
}
};
/**
* CheckBox
*/
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
switch (buttonView.getId()) {
case R.id.checkBox_G:// 高铁
if (isChecked) {
System.out.println(buttonView.getText().toString() + "选中");
} else {
System.out.println(buttonView.getText().toString() + "取消选中");
}
break;
case R.id.checkBox_D:// 动车
if (isChecked) {
System.out.println(buttonView.getText().toString() + "选中");
} else {
System.out.println(buttonView.getText().toString() + "取消选中");
}
break;
case R.id.checkBox_Z:// 直达
if (isChecked) {
System.out.println(buttonView.getText().toString() + "选中");
} else {
System.out.println(buttonView.getText().toString() + "取消选中");
}
break;
case R.id.checkBox_T:// 特快
if (isChecked) {
System.out.println(buttonView.getText().toString() + "选中");
} else {
System.out.println(buttonView.getText().toString() + "取消选中");
}
break;
case R.id.checkBox_K:// 快速
if (isChecked) {
System.out.println(buttonView.getText().toString() + "选中");
} else {
System.out.println(buttonView.getText().toString() + "取消选中");
}
break;
case R.id.checkBox_Q:// 其他
if (isChecked) {
System.out.println(buttonView.getText().toString() + "选中");
} else {
System.out.println(buttonView.getText().toString() + "取消选中");
}
break;
default:
break;
}
}
}
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:orientation="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="出发站:" />
<EditText
android:id="@+id/editText_start"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10" >
<requestFocus />
</EditText>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="终点站:" />
<EditText
android:id="@+id/editText_end"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ems="10" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="日 期:" />
<TextView
android:id="@+id/textView_date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:inputType="date"
android:hint="日期"/>
</LinearLayout>
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="车次类型:" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<CheckBox
android:id="@+id/checkBox_G"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:text="G" />
<CheckBox
android:id="@+id/checkBox_D"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:text="D" />
<CheckBox
android:id="@+id/checkBox_T"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:text="T" />
<CheckBox
android:id="@+id/checkBox_Z"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:text="Z" />
<CheckBox
android:id="@+id/checkBox_K"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:text="K" />
<CheckBox
android:id="@+id/checkBox_Q"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:text="Q" />
</LinearLayout>
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
</LinearLayout>