package wap3.test.taskReminder;
import java.util.Calendar;
import wap3.test.taskReminder.TaskList.Tasks;
import android.app.AlarmManager;
import android.app.AlertDialog;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.app.ListActivity;
import android.app.PendingIntent;
import android.app.TimePickerDialog;
import android.content.ContentUris;
import android.content.ContentValues;
import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.CheckedTextView;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.TimePicker;
public class TaskInfoActivity extends ListActivity {
// 备忘录信息列表
private ListView listView = null;
// 提醒日期
private int mYear;
private int mMonth;
private int mDay;
// 提醒时间
private int mHour;
private int mMinute;
// 日期显示TextView
private TextView dateName, dateDesc;
// 时间显示TextView
private TextView timeName, timeDesc;
// 提醒内容TextView
private TextView contentName, contentDesc;
// 是否开启提醒
private int on_off = 0;
// 是否声音警告
private int alarm = 0;
// 显示日期、时间对话框常量
static final int DATE_DIALOG_ID = 0;
static final int TIME_DIALOG_ID = 1;
// 保存内容、日期、时间字符串
private String content, date1, time1;
// 备忘录ID
private int id1;
//复选框
private CheckedTextView ctv1,ctv2;
private ImageButton okBtn, cancelBtn;
//访问布局实例
private LayoutInflater li;
boolean save = true;
private static final String TAG = "TaskInfoActivity";
private void init(Intent intent){
Bundle b = intent.getBundleExtra("wap3.test.taskReminder.Bundle");
if(b!=null){
id1 = b.getInt("id");
content = b.getString("content");
date1 = b.getString("date1");
time1 = b.getString("time1");
on_off = b.getInt("on_off");
alarm = b.getInt("alarm");
Log.v(TAG, "get values from buble "+id1+" "+content+" "+date1+" "+time1+" "+on_off+" "+alarm);
if (date1 != null && date1.length() > 0) {
String[] strs = date1.split("/");
mYear = Integer.parseInt(strs[0]);
mMonth = Integer.parseInt(strs[1]);
mDay = Integer.parseInt(strs[2]);
}
if (time1 != null && time1.length() > 0) {
String[] strs = time1.split(":");
mHour = Integer.parseInt(strs[0]);
mMinute = Integer.parseInt(strs[1]);
}
}
}
public void onCreate(Bundle bundle){
super.onCreate(bundle);
listView = getListView();
listView.setBackgroundResource(R.color.bkgcolor);
listView.setDividerHeight(1);
listView.setDivider(new ColorDrawable(R.color.dividercolor));
li = getLayoutInflater();
listView.setAdapter(new ViewAdapter());
listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
Log.v(TAG, "TaskInfoActivity created");
final Calendar c = Calendar.getInstance();
// 获得当前日期、时间
mYear = c.get(Calendar.YEAR);
mMonth = c.get(Calendar.MONTH) + 1;
mDay = c.get(Calendar.DAY_OF_MONTH);
mHour = c.get(Calendar.HOUR_OF_DAY);
mMinute = c.get(Calendar.MINUTE);
listView.setOnItemClickListener(new OnItemClickListener(){
public void onItemClick(AdapterView<?> av, View view, int position,
long id) {
switch(position){
// 设置是否开启提醒
case 0:
ctv1 = (CheckedTextView) view;
Log.v(TAG, "2 on_off=" + on_off);
if (ctv1.isChecked()) {
on_off = 0;
} else {
on_off = 1;
}
break;
// 设置提醒日期
case 1:
showDialog(DATE_DIALOG_ID);
break;
// 设置提醒时间
case 2:
showDialog(TIME_DIALOG_ID);
break;
// 设置提醒内容
case 3:
showDialog1(getString(R.string.hint));
break;
// 设置是否开启语音提醒
case 4:
ctv2 = (CheckedTextView) view;
Log.v(TAG, "2 alarm=" + alarm);
if (ctv2.isChecked()) {
alarm = 0;
setAlarm(false);
} else {
alarm = 1;
setAlarm(true);
}
break;
case 5:
break;
default:
break;
}
}
});
}
public void onResume(){
super.onResume();
Log.v(TAG, "TaskInfoActivity resume");
init(getIntent());
}
class ViewAdapter extends BaseAdapter{
String[] strs = { getResources().getString(R.string.remind),
getResources().getString(R.string.date),
getResources().getString(R.string.time),
getResources().getString(R.string.content),
getResources().getString(R.string.alarm), "ButtonView" };
// String[] strs = { "是否开启", "日期", "时间", "内容", "开启闹钟" };
public int getCount() {
return strs.length;
}
public Object getItem(int position) {
return strs[position];
}
public long getItemId(final int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
View v = li.inflate(R.layout.item_row, null);
switch(position){
case 0:
ctv1 = (CheckedTextView) li.inflate(android.R.layout.simple_list_item_multiple_choice, null);
ctv1.setText(strs[position]);
ctv1.setTextColor(Color.BLACK);
Log.v(TAG, "1 on_off=" + on_off);
if(on_off == 0)
ctv1.setChecked(false);
else
ctv1.setChecked(true);
return ctv1;
case 1:
dateName = (TextView)v.findViewById(R.id.name);
dateDesc = (TextView)v.findViewById(R.id.desc);
dateName.setText(strs[position]);
//mMonth ranges from 0 to 11, but in reality the month ranges from 1 to 12
dateDesc.setText(mYear + "/" + mMonth + "/" + mDay);
return v;
case 2:
timeName = (TextView)v.findViewById(R.id.name);
timeDesc = (TextView)v.findViewById(R.id.desc);
timeName.setText(strs[position]);
timeDesc.setText(mHour + ":" + mMinute);
return v;
case 3:
contentName = (TextView)v.findViewById(R.id.name);
contentDesc = (TextView)v.findViewById(R.id.desc);
contentName.setText(strs[position]);
contentDesc.setText(content);
return v;
case 4:
ctv2 = (CheckedTextView) li.inflate(android.R.layout.simple_list_item_multiple_choice, null);
ctv2.setText(strs[position]);
ctv2.setTextColor(Color.BLACK);
Log.v(TAG, "1 alarm=" + alarm);
if(alarm == 0)
ctv2.setChecked(false);
else
ctv2.setChecked(true);
return ctv2;
case 5:
View btnView = li.inflate(R.layout.item_button, null);
okBtn = (ImageButton)btnView.findViewById(R.id.okButton2);
cancelBtn = (ImageButton)btnView.findViewById(R.id.cancelButton02);
okBtn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
save=true;
Intent intent = new Intent();
intent.setClass(TaskInfoActivity.this, TaskReminderActivity.class);
startActivity(intent);
}
});
cancelBtn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
save=false;
Intent intent = new Intent();
intent.setClass(TaskInfoActivity.this, TaskReminderActivity.class);
startActivity(intent);
}
});
return btnView;
default: break;
}
return null;
}
}
// 时间选择对话框
private TimePickerDialog.OnTimeSetListener mTimeSetListener =
new TimePickerDialog.OnTimeSetListener() {
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
mHour = hourOfDay;
mMinute = minute;
timeDesc.setText(mHour + ":"
没有合适的资源?快使用搜索试试~ 我知道了~
备忘录--android初学者例子
共64个文件
class:28个
xml:12个
png:9个
4星 · 超过85%的资源 需积分: 10 53 下载量 151 浏览量
2011-05-18
13:41:42
上传
评论
收藏 155KB RAR 举报
温馨提示
这是我刚学android时自己写的一个例子,主要用到了Activity,ContentProvider, BroadcastReceiver三大组件,还有涉及其他知识,我认为刚学android的话挺不错的例子
资源推荐
资源详情
资源评论
收起资源包目录
TaskReminder.rar (64个子文件)
TaskReminder
.project 848B
default.properties 381B
bin
TaskReminder.apk 46KB
wap3
test
taskReminder
TaskReminderActivity$1.class 869B
R$string.class 871B
TaskList.class 475B
TaskInfoActivity$ViewAdapter.class 5KB
R$layout.class 571B
TaskListProvider.class 8KB
TaskInfoActivity$2.class 2KB
TaskReminderActivity$3.class 3KB
R$dimen.class 635B
R$drawable.class 585B
TaskInfoActivity$ViewAdapter$2.class 1KB
TaskInfoActivity$1.class 2KB
TaskInfoActivity$ViewAdapter$1.class 1KB
R$menu.class 393B
R.class 713B
R$color.class 504B
AlarmActivity$1.class 1007B
TaskReminderActivity$2.class 869B
TaskInfoActivity$4.class 1KB
R$attr.class 352B
AlarmActivity.class 2KB
TaskInfoActivity$3.class 2KB
TaskListProvider$DatabaseHelper.class 1KB
TaskReceiver.class 2KB
TaskInfoActivity.class 12KB
TaskReminderActivity.class 7KB
R$id.class 1KB
TaskList$Tasks.class 1KB
resources.ap_ 29KB
classes.dex 33KB
proguard.cfg 1KB
.settings
org.eclipse.jdt.core.prefs 208B
AndroidManifest.xml 2KB
src
wap3
test
taskReminder
TaskList.java 952B
TaskListProvider.java 7KB
AlarmActivity.java 1KB
TaskReminderActivity.java 7KB
TaskInfoActivity.java 11KB
TaskReceiver.java 1KB
res
values
dimension.xml 373B
color.xml 233B
strings.xml 844B
layout
list.xml 1KB
item_content.xml 492B
item_row2.xml 1KB
item_button.xml 947B
alarm.xml 831B
item_row.xml 909B
drawable-ldpi
icon.png 2KB
drawable-hdpi
icon.png 4KB
drawable
add.png 7KB
shape_1.xml 333B
cancel.png 2KB
ok.png 2KB
alarm.png 1KB
delete.png 7KB
icon.png 3KB
drawable-mdpi
icon.png 3KB
menu
menu.xml 7KB
.classpath 280B
gen
wap3
test
taskReminder
R.java 4KB
assets
共 64 条
- 1
资源评论
- yucheng7575502012-11-09就一个显示页面啊 什么也没啊
- qifuchenluo2015-04-16不全,运行不出来
- 编程妮子2012-11-07例子好像不全,功能没有完全实现
- echomad2012-09-10还是不错的 谢谢lz分享 基础教程
szhanfeng203
- 粉丝: 1
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功