package com.pwp.activity;
import java.util.ArrayList;
import com.pwp.borderText.BorderTextView;
import com.pwp.constant.CalendarConstant;
import com.pwp.dao.ScheduleDAO;
import com.pwp.vo.ScheduleVO;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.util.Log;
import android.view.Gravity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.LinearLayout;
import android.widget.ScrollView;
import android.widget.AbsListView.LayoutParams;
/**
* 显示/修改所有日程的activity
* @author jack_peng
*
*/
public class ScheduleAllView extends Activity {
private ScrollView sv = null;
private LinearLayout layout = null;
private BorderTextView textTop = null;
private ScheduleDAO dao = null;
private ScheduleVO scheduleVO = null;
private ArrayList<ScheduleVO> schList = new ArrayList<ScheduleVO>();
private String scheduleInfo = "";
private final LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
private int scheduleID = -1;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
dao = new ScheduleDAO(this);
sv = new ScrollView(this);
params.setMargins(0, 5, 0, 0);
layout = new LinearLayout(this); // 实例化布局对象
layout.setOrientation(LinearLayout.VERTICAL);
layout.setBackgroundResource(R.drawable.schedule_bk);
layout.setLayoutParams(params);
textTop = new BorderTextView(this, null);
textTop.setTextColor(Color.BLACK);
textTop.setBackgroundResource(R.drawable.top_day);
textTop.setText("所有日程");
textTop.setHeight(47);
textTop.setGravity(Gravity.CENTER);
layout.addView(textTop);
sv.addView(layout);
setContentView(sv);
getScheduleAll();
}
/**
* 得到所有的日程信息
*/
public void getScheduleAll(){
schList = dao.getAllSchedule();
if(schList != null){
for (ScheduleVO vo : schList) {
String content = vo.getScheduleContent();
int startLine = content.indexOf("\n");
if(startLine > 0){
content = content.substring(0, startLine)+"...";
}else if(content.length() > 30){
content = content.substring(0, 30)+"...";
}
scheduleInfo = CalendarConstant.sch_type[vo.getScheduleTypeID()]+"\n"+vo.getScheduleDate()+"\n"+content;
scheduleID = vo.getScheduleID();
createInfotext(scheduleInfo, scheduleID);
}
}else{
scheduleInfo = "没有日程";
createInfotext(scheduleInfo,-1);
}
}
/**
* 创建放日程信息的textview
*/
public void createInfotext(String scheduleInfo, int scheduleID){
final BorderTextView info = new BorderTextView(this, null);
info.setText(scheduleInfo);
info.setTextColor(Color.BLACK);
info.setBackgroundColor(Color.WHITE);
info.setLayoutParams(params);
info.setGravity(Gravity.CENTER_VERTICAL);
info.setPadding(10, 5, 10, 5);
info.setTag(scheduleID);
layout.addView(info);
//点击每一个textview就跳转到shceduleInfoView中显示详细信息
info.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
String schID = String.valueOf(v.getTag());
String scheduleIDs[] = new String[]{schID};
Intent intent = new Intent();
intent.setClass(ScheduleAllView.this, ScheduleInfoView.class);
intent.putExtra("scheduleID", scheduleIDs);
startActivity(intent);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(1, menu.FIRST, menu.FIRST, "返回日历");
menu.add(1, menu.FIRST+1, menu.FIRST+1, "添加日程");
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()){
case Menu.FIRST:
Intent intent = new Intent();
intent.setClass(ScheduleAllView.this, MyCalendarView.class);
startActivity(intent);
break;
case Menu.FIRST+1:
Intent intent1 = new Intent();
intent1.setClass(ScheduleAllView.this, ScheduleAddView.class);
startActivity(intent1);
break;
}
return super.onOptionsItemSelected(item);
}
}