Android布局充气器不适用于Android日历 String testDate=“2014年11月5日”; @凌驾 创建时的公共void(Bundle savedInstanceState){ super.onCreate(savedInstanceS
Android布局充气器不适用于Android日历Android布局充气器不适用于Android日历 String testDate=“2014年11月5日”; @凌驾 创建时的公共void(Bundle savedInstanceState){ super.onCreate(savedInstanceS,android,Android,Android布局充气器不适用于Android日历 String testDate=“2014年11月5日”; @凌驾 创建时的公共void(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.calendar); setDefault(Locale.US); rLayout=(LinearLayout)findViewById(R.id.text); month=(gre
String testDate=“2014年11月5日”;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.calendar);
setDefault(Locale.US);
rLayout=(LinearLayout)findViewById(R.id.text);
month=(gregorianalendar)Calendar.getInstance();
itemmonth=(GregorianCalendar)month.clone();
items=newarraylist();
适配器=新日历适配器(本月);
GridView GridView=(GridView)findViewById(R.id.GridView);
setAdapter(适配器);
handler=新的handler();
handler.post(日历更新程序);
TextView title=(TextView)findViewById(R.id.title);
title.setText(android.text.format.DateFormat.format(“MMMM-yyyy”,month));
RelativeLayout previous=(RelativeLayout)findViewById(R.id.previous);
previous.setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
setPreviousMonth();
刷新日历();
}
});
RelativeLayout next=(RelativeLayout)findViewById(R.id.next);
setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
setNextMonth();
刷新日历();
}
});
SimpleDataFormat dateFormat=新的SimpleDataFormat(“dd/mm/yyyy”,
java.util.Locale.getDefault());
尝试
{
d=dateFormat.format(dateFormat.parse(testDate));
d1=dateFormat.format(dateFormat.parse(testDate));
日志d(“日期”,d);
日志d(“日期1”,d1);
}
捕获(解析异常)
{
e、 printStackTrace();
}
如果(d等于(d1))
{
视图v=null;
如果(v==null)
{
LayoutInflater vi=(LayoutInflater)CalendarView.this
.getSystemService(上下文布局\充气机\服务);
v=vi.充气(R.布局.日历\布局,gridview,false);
}
TextView titleView=(TextView)v.findViewById(R.id.titleView);
titleView.setText(“abc”);
}
setOnItemClickListener(新的OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父视图、视图v、,
内部位置,长id){
TextView cdate=(TextView)v.findViewById(R.id.date);
if(cdate instanceof TextView&!cdate.getText()等于(“”)
{
TextView title=(TextView)findViewById(R.id.title);
title.setText(android.text.format.DateFormat.format(“MMMM-yyyy”,month));
testMonth=title.getText().toString();
String day=cdate.getText().toString();
Toast.makeText(getApplicationContext(),day+“”+testMonth,Toast.LENGTH\u LONG.show();
}
//删除以前的视图(如果已添加)
如果(rLayout.getChildCount()>0){
rLayout.removeallview();
}
desc=新的ArrayList();
日期=新的ArrayList();
((CalendarAdapter)parent.getAdapter()).setSelected(v);
String selectedGridDate=CalendarAdapter.dayString
.获得(职位);
String[]separatedTime=selectedgridate.split(“-”);
String gridvalueString=separatedTime[2]。replaceFirst(“^0*”,
“”);//从2012年12月2日开始计算日期的最后一部分。
int gridvalue=Integer.parseInt(gridvalueString);
//单击offdays导航到下个月或上个月。
如果((网格值>10)和&(位置<8)){
setPreviousMonth();
刷新日历();
}否则如果((网格值<7)和(&(位置>28)){
setNextMonth();
刷新日历();
}
((CalendarAdapter)parent.getAdapter()).setSelected(v);
对于(int i=0;i0){
对于(int i=0;i String testDate = "05/11/2014";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.calendar);
Locale.setDefault(Locale.US);
rLayout = (LinearLayout) findViewById(R.id.text);
month = (GregorianCalendar) Calendar.getInstance();
itemmonth = (GregorianCalendar) month.clone();
items = new ArrayList<String>();
adapter = new CalendarAdapter(this, month);
GridView gridview = (GridView) findViewById(R.id.gridview);
gridview.setAdapter(adapter);
handler = new Handler();
handler.post(calendarUpdater);
TextView title = (TextView) findViewById(R.id.title);
title.setText(android.text.format.DateFormat.format("MMMM yyyy", month));
RelativeLayout previous = (RelativeLayout) findViewById(R.id.previous);
previous.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
setPreviousMonth();
refreshCalendar();
}
});
RelativeLayout next = (RelativeLayout) findViewById(R.id.next);
next.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
setNextMonth();
refreshCalendar();
}
});
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/mm/yyyy",
java.util.Locale.getDefault());
try
{
d = dateFormat.format(dateFormat.parse(testDate));
d1 = dateFormat.format(dateFormat.parse(testDate));
Log.d("Date",d);
Log.d("Date1",d1);
}
catch (ParseException e)
{
e.printStackTrace();
}
if(d.equals(d1))
{
View v = null;
if(v==null)
{
LayoutInflater vi = (LayoutInflater)CalendarView.this
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.calendar_layout, gridview,false);
}
TextView titleView = (TextView)v.findViewById(R.id.titleView);
titleView.setText("abc");
}
gridview.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View v,
int position, long id) {
TextView cdate = (TextView)v.findViewById(R.id.date);
if(cdate instanceof TextView && !cdate.getText().equals(""))
{
TextView title = (TextView) findViewById(R.id.title);
title.setText(android.text.format.DateFormat.format("MMMM yyyy", month));
testMonth=title.getText().toString();
String day = cdate.getText().toString();
Toast.makeText(getApplicationContext(),day+" "+testMonth,Toast.LENGTH_LONG).show();
}
// removing the previous view if added
if (rLayout.getChildCount() > 0) {
rLayout.removeAllViews();
}
desc = new ArrayList<String>();
date = new ArrayList<String>();
((CalendarAdapter) parent.getAdapter()).setSelected(v);
String selectedGridDate = CalendarAdapter.dayString
.get(position);
String[] separatedTime = selectedGridDate.split("-");
String gridvalueString = separatedTime[2].replaceFirst("^0*",
"");// taking last part of date. ie; 2 from 2012-12-02.
int gridvalue = Integer.parseInt(gridvalueString);
// navigate to next or previous month on clicking offdays.
if ((gridvalue > 10) && (position < 8)) {
setPreviousMonth();
refreshCalendar();
} else if ((gridvalue < 7) && (position > 28)) {
setNextMonth();
refreshCalendar();
}
((CalendarAdapter) parent.getAdapter()).setSelected(v);
for (int i = 0; i < Utility.startDates.size(); i++) {
if (Utility.startDates.get(i).equals(selectedGridDate)) {
desc.add(Utility.nameOfEvent.get(i));
}
}
if (desc.size() > 0) {
for (int i = 0; i < desc.size(); i++) {
TextView rowTextView = new TextView(CalendarView.this);
// set some properties of rowTextView or something
rowTextView.setText("Event:" + desc.get(i));
rowTextView.setTextColor(Color.BLACK);
// add the textview to the linearlayout
rLayout.addView(rowTextView);
}
}
desc = null;
}
});
}
protected void setNextMonth() {
if (month.get(Calendar.MONTH) == month
.getActualMaximum(Calendar.MONTH)) {
month.set((month.get(Calendar.YEAR) + 1),
month.getActualMinimum(Calendar.MONTH), 1);
} else {
month.set(Calendar.MONTH,
month.get(Calendar.MONTH) + 1);
}
}
protected void setPreviousMonth() {
if (month.get(Calendar.MONTH) == month
.getActualMinimum(Calendar.MONTH)) {
month.set((month.get(Calendar.YEAR) - 1),
month.getActualMaximum(Calendar.MONTH), 1);
} else {
month.set(Calendar.MONTH,
month.get(Calendar.MONTH) - 1);
}
}
protected void showToast(String string) {
Toast.makeText(this, string, Toast.LENGTH_SHORT).show();
}
public void refreshCalendar() {
TextView title = (TextView) findViewById(R.id.title);
adapter.refreshDays();
adapter.notifyDataSetChanged();
handler.post(calendarUpdater); // generate some calendar items
title.setText(android.text.format.DateFormat.format("MMMM yyyy", month));
}
public Runnable calendarUpdater = new Runnable() {
@Override
public void run() {
items.clear();
// Print dates of the current week
DateFormat df = new SimpleDateFormat("yyyy-MM-dd", Locale.US);
String itemvalue;
event = Utility.readCalendarEvent(CalendarView.this);
Log.d("=====Event====", event.toString());
Log.d("=====Date ARRAY====", Utility.startDates.toString());
for (int i = 0; i < Utility.startDates.size(); i++) {
itemvalue = df.format(itemmonth.getTime());
itemmonth.add(Calendar.DATE, 1);
items.add(Utility.startDates.get(i).toString());
}
adapter.setItems(items);
adapter.notifyDataSetChanged();
}
};