package edu.hebtu.movingcampus.activity;
import java.util.ArrayList;
import edu.hebtu.movingcampus.R;
import edu.hebtu.movingcampus.R.layout;
import edu.hebtu.movingcampus.R.menu;
import edu.hebtu.movingcampus.biz.ChooseCourseDao;
import edu.hebtu.movingcampus.biz.RoomDao;
import edu.hebtu.movingcampus.entity.ChooseCourseEntity;
import edu.hebtu.movingcampus.entity.ClassRoom;
import edu.hebtu.movingcampus.entity.CourseEntity;
import edu.hebtu.movingcampus.entity.CourseIntroEntity;
import edu.hebtu.movingcampus.entity.TextBookInfo;
import android.os.Bundle;
import android.app.Activity;
import android.app.Dialog;
import android.text.Layout;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
public class ChooseCourseActionActivity extends Activity {
//课程选择类的数组
private ArrayList<ChooseCourseEntity> ChooseCourseList = new ArrayList<ChooseCourseEntity>();
private TextView Title;//本activity的标题
private ListView CourseIntroItem;//选课的listview
private MyAdapter adapter;//适配器
private boolean isBooked;//定义要不要购买教材
private int courseIntroSpread = 0;//是否展开课程介绍
private int courseBookSpread = 1;//是否展开课程介绍
private int bookIntroSpread = 0;//是否展开课程介绍
private View courseIntroLayout;//课程介绍的layout
private ImageView courseIntroImg;//课程介绍的layout后面的图片
private ImageView courseBookImg;//课程选订的layout后面的图片
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_choose_course_action);
initData();
initView();
bindButton();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.choose_course_action, menu);
return true;
}
/**
* @return 本界面选课的标题
*/
public String getCourseTitle(){
Bundle bundle = getIntent().getExtras();
String title = bundle.getString("title");
System.out.print("本界面的标题是"+title);
return title;
}
/**
* @return 本界面课程介绍部分的内容
*/
public void getCourseIntro(){
CourseIntroEntity course = new CourseIntroEntity();
course = (CourseIntroEntity) new ChooseCourseDao(
ChooseCourseActionActivity.this).getCourseIntroMsg(false,getCourseId().trim());
Log.i("从服务器请求数据", "从服务器传回数据");
if (course != null) {
Log.i("从服务器传回数据", "从服务器传回数据");
//初始化介绍课程的内容
TextView courseId_tv = (TextView)courseIntroLayout.findViewById(R.id.choosecourse_coursepro_courseid_tv);
courseId_tv.setText(course.getCourseId());
TextView courseCredit_tv = (TextView)courseIntroLayout.findViewById(R.id.choosecourse_coursepro_coursecredit_tv);
courseCredit_tv.setText(course.getCourseCredit());
TextView courseGroup_tv = (TextView)courseIntroLayout.findViewById(R.id.choosecourse_coursepro_belongto_tv);
courseGroup_tv.setText(course.getCourseBelongTo());
TextView coursePro_tv = (TextView)courseIntroLayout.findViewById(R.id.choosecourse_coursepro_coursepro_tv);
coursePro_tv.setText(course.getCoursePro());
TextView courseAllTime_tv = (TextView)courseIntroLayout.findViewById(R.id.choosecourse_coursepro_totaltime_tv);
courseAllTime_tv.setText(course.getAllStudyTime());
TextView courseWeekTime_tv = (TextView)courseIntroLayout.findViewById(R.id.choosecourse_coursepro_weektime_tv);
courseWeekTime_tv.setText(course.getHourPerWeek());
TextView courseChinese_tv = (TextView)courseIntroLayout.findViewById(R.id.choosecourse_coursepro_chinesename_tv);
courseChinese_tv.setText(course.getChineseName());
TextView courseEnglish_tv = (TextView)courseIntroLayout.findViewById(R.id.choosecourse_coursepro_englishname_tv);
courseEnglish_tv.setText(course.getEnglishName());
TextView courseType_tv = (TextView)courseIntroLayout.findViewById(R.id.choosecourse_coursepro_coursetype_tv);
courseType_tv.setText(course.getType());
TextView courseCollege_tv = (TextView)courseIntroLayout.findViewById(R.id.choosecourse_coursepro_college_tv);
courseCollege_tv.setText(course.getCollege());
TextView courseSuitable_tv = (TextView)courseIntroLayout.findViewById(R.id.choosecourse_coursepro_suiltablepeople_tv);
courseSuitable_tv.setText(course.getSuiltabelPeople());
TextView coursePer_tv = (TextView)courseIntroLayout.findViewById(R.id.choosecourse_coursepro_perpose_tv);
coursePer_tv.setText(course.getAimAndFunc());
TextView courseIntro_tv = (TextView)courseIntroLayout.findViewById(R.id.choosecourse_coursepro_courseintro_tv);
courseIntro_tv.setText(course.getIntro());
TextView courseBook_tv = (TextView)courseIntroLayout.findViewById(R.id.choosecourse_coursepro_coursebook_tv);
courseBook_tv.setText(course.getBooks());
} else
// TODO{
{
Toast.makeText(getApplicationContext(), "接口获取错误", Toast.LENGTH_LONG)
.show();
}
System.out.print("本界面的介绍部分的内容"+course);
}
/**
* @return 本界面选课的课程id
*/
public String getCourseId(){
Bundle bundle = getIntent().getExtras();
String courseId = bundle.getString("courseId");
return courseId;
}
/**
* @return 教科书的信息
* @aim 得到对话框里面的图书信息
*/
public TextBookInfo initDialogData(String bookOderId){
TextBookInfo textBook = new TextBookInfo();
textBook = (TextBookInfo)new ChooseCourseDao(
ChooseCourseActionActivity.this).getBookMsg(false,bookOderId.trim());
Log.i("从服务器请求数据", "从服务器传回数据");
if(textBook!=null){
return textBook;
}else{
Toast.makeText(getApplicationContext(), "接口获取错误", Toast.LENGTH_LONG)
.show();
TextBookInfo textBookl = new TextBookInfo();
textBookl.setAuthor("张雷杰");
textBookl.setBookId("8337383");
textBookl.setBookOrderId("1232335");
textBookl.setGoodBook("是");
textBookl.setName("《啦啦啦》");
textBookl.setPrice("123元");
textBookl.setPrinting("第二版");
textBookl.setPublishedTime("2011年11月12日");
textBookl.setPublishHouse("雷杰出版社");
return textBookl;
}
}
/**
* @aim 初始化对话框
*/
public void initDialog(TextBookInfo textBookInfo){
TextBookInfo textBook = new TextBookInfo();
textBook = textBookInfo;
final Dialog dialog = new Dialog(ChooseCourseActionActivity.this);
dialog.setCancelable(false);
dialog.setTitle("课程预订");
dialog.setContentView(R.layout.choosecourse_dialog);
dialog.show();
//教材介绍的layout
final LinearLayout bookIntroLayout = (LinearLayout) dialog.findViewById(R.id.choosecourse_dialog_bookintro_layout);
System.out.print(bookIntroLayout);
//教材介绍的layout后面的图片
final ImageView bookIntroImg = (ImageView) dialog.findViewById(R.id.choosecourse_dialog_bookintro_img);
//初始化个组件
TextView bookName = (TextView) dialog.findViewById(R.id.choosecourse_dialog_bookname_tv);
TextView authour = (TextView) dialog.findViewById(R.id.choosecourse_dialog_bookauthor_tv);
TextView publishHouse = (TextView) dialog.findViewById(R.id.choosecourse_dialog_bookhouse_tv);
TextView bookid = (TextView) dialog.findViewById(R.id.choosecourse_dialog_bookid_tv);
TextView textbookid = (TextView) dialog.findViewById(R.id.choosecourse_dialog_textbookid_tv);
TextView version = (TextView) dialog.findViewById(R.id.choosecourse_dialog_bookversion_tv);
TextView time = (TextView) dialog.findViewById(R.id.choosecourse_dialog_booktime_tv);
TextView price = (TextView) dialog.findViewById(R.id.choosecourse_dialog_bookprice_tv);
TextView isGood = (TextView) dialog.findViewById(R.id.choosecourse_dialog_bookisgood_tv);
//给各个组件添加显示的内容
bookName.setText(textBook.getName());
authour.setText(textBook.getAuthor());
publishHouse.setText(textBook.getPublishHouse());
bookid.setText(textBook.getBookId());
textbookid.setText(textBook.getBookOrderId());
version.setText(textBook.getPrinting());
time.setText(textBook.getPublishedTime());
price.setText(textBook.getPrice());
isGood.setText(textBook.getGoodBook());
//添加点击事件
LinearLayout booktitle = (LinearLayout) dialog.findViewById(R.id.choosecourse_dialog_bookintro_title_layout);
booktitle.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
bookIntroSpread++;
if(bookIntroSpread%2==0){
bookIntroLayout.setVisibility(View.GONE);
bookIntroImg.setImageResource(R.drawable.mm_submenu_normal_down);
}else{
bookIntroLayout.setVisibility(View.VISIBLE);
bookIntroImg.setImageResource(R.drawable.mm_submenu_normal_up);
}
}
});
//定义要不要购买教材
isBooked = false;
//获得预定教材的checkbox
CheckBox bookBook = (CheckBox) dialog.findViewById(R.id.choosecourse_dialog_bookbook_check);
bookBook.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// TODO Auto-generated method stub
if(isChecked){
isBooked = true;
}else{
isBooked = false;
}
}
});
//定义对话框的确定键
Button positive = (Button) dialog.findViewById(R.id.choosecourse_dialog_positive);
//定义对话框的取消键
Button nagtive = (Button) dialog.findViewById(R.id.choosecourse_dialog_nagtive);
//绑定监听器
positive.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 发送预定请求
dialog.dismiss();
}
});
nagtive.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//取消预定
dialog.dismiss();
}
});
}
/**
* @aim 绑定按钮控件
*/
public void bindButton() {
// 返回键的按钮
findViewById(R.id.choosecourse_courseaction_btn_back).setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
// 关闭本activity
ChooseCourseActionActivity.this.finish();
}
});
// 课程介绍的点击操作
findViewById(R.id.choose_course_coursepro_layout).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
courseIntroSpread++;//课程介绍的计数加一
if(courseIntroSpread%2==1){
courseIntroImg.setImageResource(R.drawable.mm_submenu_normal_up);
courseIntroLayout.setVisibility(View.VISIBLE);
}else{
courseIntroImg.setImageResource(R.drawable.mm_submenu_normal_down);
courseIntroLayout.setVisibility(View.GONE);
}
}
});
// 课程选订的点击操作
findViewById(R.id.choose_course_courseselect_layout).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
courseBookSpread++;
if(courseBookSpread%2==1){
courseBookImg.setImageResource(R.drawable.mm_submenu_normal_up);
CourseIntroItem.setVisibility(View.VISIBLE);
}else{
courseBookImg.setImageResource(R.drawable.mm_submenu_normal_down);
CourseIntroItem.setVisibility(View.GONE);
}
}
});
}
/**
* @aim 初始化视图
*/
public void initView(){
//初始化各个需要点击的layout
courseIntroLayout = findViewById(R.id.choose_course_courseprointro_layout);
getCourseIntro();
//初始化layout里面的图片
courseIntroImg = (ImageView) findViewById(R.id.choose_course_coursepro_img);
courseBookImg = (ImageView) findViewById(R.id.choose_course_courseselect_img);
this.Title = (TextView) findViewById(R.id.choosecourse_chooseanction_tv);
//设置标题
this.Title.setText(getCourseTitle());
this.CourseIntroItem = (ListView) findViewById(R.id.choosecourse_bookcourse_listview);
this.adapter = new MyAdapter();
//绑定适配器
this.CourseIntroItem.setAdapter(adapter);
//绑定监听器
this.CourseIntroItem.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
String bookOderId = ChooseCourseList.get(arg2).getBookOrderId();
System.out.println("这是得到的教科书征订号"+bookOderId);
TextBookInfo textBook = initDialogData(bookOderId);
initDialog(textBook);
}
});
}
/**
* @aim 初始化listview的数据源
*/
public void initData(){
ChooseCourseList.clear();
ArrayList<ChooseCourseEntity> res = (ArrayList<ChooseCourseEntity>) new ChooseCourseDao(
ChooseCourseActionActivity.this).getChooseCourseMsg(false, getCourseId().trim());
Log.i("从服务器请求数据", "从服务器传回数据");
if (res != null) {
Log.i("从服务器传回数据", "从服务器传回数据");
for (ChooseCourseEntity c : res) {
ChooseCourseEntity chooseCourse = new ChooseCourseEntity();
chooseCourse.setCampus(c.getCampus());
chooseCourse.setAllChoosedNum(c.getAllChoosedNum());
chooseCourse.setCapacity(c.getCapacity());
chooseCourse.setCollege(c.getCollege());
chooseCourse.setHourPerWeek(c.getHourPerWeek());
chooseCourse.setMethosOfTeach(c.getMethosOfTeach());
chooseCourse.setNativeChoosedNum(c.getNativeChoosedNum());
chooseCourse.setRemark(c.getRemark());
chooseCourse.setRoomOfCourse(c.getRoomOfCourse());
chooseCourse.setShortTerm(c.getShortTerm());
chooseCourse.setTeacher(c.getTeacher());
chooseCourse.setTextBook(c.getTextBook());
chooseCourse.setTimeOfExam(c.getTimeOfExam());
chooseCourse.setTypeOfExam(c.getTypeOfExam());
chooseCourse.setBookOrderId(c.getBookOrderId());
ChooseCourseList.add(chooseCourse);
}
} else
// TODO{
{
Toast.makeText(getApplicationContext(), "接口获取错误", Toast.LENGTH_LONG)
.show();
for(int i=0;i<3;i++){
ChooseCourseEntity chooseCourse = new ChooseCourseEntity();
chooseCourse.setCampus("新校区");
chooseCourse.setAllChoosedNum("1000");
chooseCourse.setCapacity("1000");
chooseCourse.setCollege("软件学院");
chooseCourse.setHourPerWeek("4.0");
chooseCourse.setMethosOfTeach("口述");
chooseCourse.setNativeChoosedNum("100");
chooseCourse.setRemark("好学");
chooseCourse.setRoomOfCourse("软件学院A-206");
chooseCourse.setShortTerm("是");
chooseCourse.setTeacher("张雷杰");
chooseCourse.setTextBook("《人渣创奇》");
chooseCourse.setTimeOfExam("未知");
chooseCourse.setTypeOfExam("考试");
chooseCourse.setBookOrderId("3333333");
ChooseCourseList.add(chooseCourse);
}
}
}
/**
* @author leijie
*@aim 自定义适配器
*/
private class MyAdapter extends BaseAdapter{
@Override
public int getCount() {
// TODO Auto-generated method stub
return ChooseCourseList.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return ChooseCourseList.get(position);
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
convertView = LayoutInflater.from(getApplicationContext()).inflate(R.layout.choosecourse_bookcourse_item, null);
//教室姓名
TextView teacher = (TextView) convertView.findViewById(R.id.choosecourse_courseselect_teacher_tv);
//周学时
TextView timePerWeek = (TextView) convertView.findViewById(R.id.choosecourse_courseselect_weektime_tv);
//考核
TextView text = (TextView) convertView.findViewById(R.id.choosecourse_courseselect_type_tv);
//校区
TextView campus = (TextView) convertView.findViewById(R.id.choosecourse_courseselect_campus_tv);
//上课时间
TextView time = (TextView) convertView.findViewById(R.id.choosecourse_courseselect_time_tv);
//上课地点
TextView place = (TextView) convertView.findViewById(R.id.choosecourse_courseselect_place_tv);
//上课备注
TextView remark = (TextView) convertView.findViewById(R.id.choosecourse_courseselect_remark_tv);
//上课授课方式
TextView way = (TextView) convertView.findViewById(R.id.choosecourse_courseselect_method_tv);
//是否是短学期
TextView isshort = (TextView) convertView.findViewById(R.id.choosecourse_courseselect_shortterm_tv);
//教材名称
TextView book = (TextView) convertView.findViewById(R.id.choosecourse_courseselect_textbook_tv);
//本专业已选人数
TextView nativnum = (TextView) convertView.findViewById(R.id.choosecourse_courseselect_nativenum_tv);
//所有已选人数
TextView allnum = (TextView) convertView.findViewById(R.id.choosecourse_courseselect_allnum_tv);
ChooseCourseEntity chooseCourse = ChooseCourseList.get(position);
//设置授课教师
teacher.setText(chooseCourse.getTeacher());
//周学时
timePerWeek.setText(chooseCourse.getHourPerWeek());
//设置考核方式
text.setText(chooseCourse.getTypeOfExam());
//设置校区
campus.setText(chooseCourse.getCampus());
//设置上课时间
time.setText(chooseCourse.getTimeOfExam());
//设置授课地点
place.setText(chooseCourse.getRoomOfCourse());
//设置备注
remark.setText(chooseCourse.getRemark());
//设置授课方式
way.setText(chooseCourse.getMethosOfTeach());
//设置是否是短期
isshort.setText(chooseCourse.getShortTerm());
//设置教材
book.setText(chooseCourse.getTextBook());
//设置本专业已选人数
nativnum.setText(chooseCourse.getNativeChoosedNum());
//设置所有已选人数
allnum.setText(chooseCourse.getAllChoosedNum());
return convertView;
}
}
}