教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 实用模板 >

Android原生模块DeskClock分析1(8)

来源:网络收集 时间:2026-07-05
导读: DeskClock分析文档 Object newValue) { String val = (String) newValue; // Set the summary based on the new label. p.setSummary(val); if (val != null !val.equals(mLabel.getText())) { Log.e(\ // Call thr

DeskClock分析文档

Object newValue) { String val = (String) newValue;

// Set the summary based on the new label. p.setSummary(val);

if (val != null && !val.equals(mLabel.getText())) { Log.e(\

// Call through to the generic listener. return SetAlarm.this.onPreferenceChange(p, newValue); }

return true; } });

mEnabledPref = (CheckBoxPreference) findPreference(\

//为EnabledPref设置监听

mEnabledPref.setOnPreferenceChangeListener(

new Preference.OnPreferenceChangeListener() { public boolean onPreferenceChange(Preference p, Object newValue) {Log.e(\ // Pop a toast when enabling alarms.

if (!mEnabledPref.isChecked()) {Log.e(\ popAlarmSetToast(SetAlarm.this, mHour, mMinutes, mRepeatPref.getDaysOfWeek()); }

return SetAlarm.this.onPreferenceChange(p, newValue); } });

//为mAlarmPref、mVibratePref、mRepeatPref设置监听

mTimePref = findPreference(\

mAlarmPref = (AlarmPreference) findPreference(\ mAlarmPref.setOnPreferenceChangeListener(this);

mVibratePref = (CheckBoxPreference) findPreference(\ mVibratePref.setOnPreferenceChangeListener(this);

mRepeatPref = (RepeatPreference) findPreference(\ mRepeatPref.setOnPreferenceChangeListener(this);

//定义Intent,来获取值

Intent i = getIntent();

mId = i.getIntExtra(Alarms.ALARM_ID, -1); if (Log.LOGV) {

Log.v(\ }

Alarm alarm = null;

if (mId == -1) {Log.e(\

21

DeskClock分析文档

// No alarm id means create a new alarm. alarm = new Alarm(); } else {Log.e(\

/* load alarm details from database */

alarm = Alarms.getAlarm(getContentResolver(), mId); // Bad alarm, bail to avoid a NPE. if (alarm == null) {Log.e(\ finish(); return; } }

mOriginalAlarm = alarm;

updatePrefs(mOriginalAlarm);

// We have to do this to get the save/cancel buttons to highlight on // their own.

getListView().setItemsCanFocus(true);

//为save设置监听

Button b = (Button) findViewById(R.id.alarm_save); b.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { Log.e(\ saveAlarm(); finish(); } });

//为revert设置监听

final Button revert = (Button) findViewById(R.id.alarm_revert); revert.setEnabled(false);

revert.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { Log.e(\ int newId = mId;

updatePrefs(mOriginalAlarm);

// \ if (mOriginalAlarm.id == -1) { Log.e(\

Alarms.deleteAlarm(SetAlarm.this, newId); } else {Log.e(\ saveAlarm(); }

revert.setEnabled(false);

22

DeskClock分析文档

} });

//为delete设置监听

b = (Button) findViewById(R.id.alarm_delete); if (mId == -1) {Log.e(\ b.setEnabled(false); } else {Log.e(\

b.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { Log.e(\ deleteAlarm(); } }); }

// The last thing we do is pop the time picker if this is a new alarm. if (mId == -1) {Log.e(\ // Assume the user hit cancel mTimePickerCancelled = true; showTimePicker(); } }

? updatePrefs方法用来更新获取的值

private void updatePrefs(Alarm alarm) {Log.e(\ mId = alarm.id;

mEnabledPref.setChecked(alarm.enabled); mLabel.setText(alarm.label); mLabel.setSummary(alarm.label); mHour = alarm.hour; mMinutes = alarm.minutes;

mRepeatPref.setDaysOfWeek(alarm.daysOfWeek); mVibratePref.setChecked(alarm.vibrate); // Give the alert uri to the preference. mAlarmPref.setAlert(alarm.alert); updateTime(); }

? onBackPressed方法,设置闹铃后,退出并保存 @Override

public void onBackPressed() {

if (!mTimePickerCancelled) {Log.e(\

23

DeskClock分析文档

saveAlarm(); } finish(); }

? 通过onPreferenceTreeClick方法设置时间

@Override

public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen,

Preference preference) {Log.e(\ if (preference == mTimePref) {Log.e(\ showTimePicker(); }

return super.onPreferenceTreeClick(preferenceScreen, preference); }

· showTimePicker方法,定义new TimePickerDialog,设置时间 …… 此处隐藏:3583字,全部文档内容请下载后查看。喜欢就下载吧 ……

Android原生模块DeskClock分析1(8).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/520580.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)