From 320593e46585acaab0a98a33f4c47b90689616a8 Mon Sep 17 00:00:00 2001 From: fxk <1526369056@qq.com> Date: Sun, 16 Apr 2023 12:57:17 +0800 Subject: [PATCH] fxk_ui_second --- .../net/micode/notes/ui/NoteItemData.java | 31 +++++++++++++------ 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/src/Notes-master/app/src/main/java/net/micode/notes/ui/NoteItemData.java b/src/Notes-master/app/src/main/java/net/micode/notes/ui/NoteItemData.java index 0f5a878..6e232de 100644 --- a/src/Notes-master/app/src/main/java/net/micode/notes/ui/NoteItemData.java +++ b/src/Notes-master/app/src/main/java/net/micode/notes/ui/NoteItemData.java @@ -24,7 +24,7 @@ import net.micode.notes.data.Contact; import net.micode.notes.data.Notes; import net.micode.notes.data.Notes.NoteColumns; import net.micode.notes.tool.DataUtils; - +//上面代码导入了一些类 public class NoteItemData { static final String [] PROJECTION = new String [] { @@ -42,6 +42,7 @@ public class NoteItemData { NoteColumns.WIDGET_TYPE, }; + //根据英文翻译理解 private static final int ID_COLUMN = 0; private static final int ALERTED_DATE_COLUMN = 1; private static final int BG_COLOR_ID_COLUMN = 2; @@ -54,7 +55,7 @@ public class NoteItemData { private static final int TYPE_COLUMN = 9; private static final int WIDGET_ID_COLUMN = 10; private static final int WIDGET_TYPE_COLUMN = 11; - + private long mId; private long mAlertDate; private int mBgColorId; @@ -76,7 +77,9 @@ public class NoteItemData { private boolean mIsOneNoteFollowingFolder; private boolean mIsMultiNotesFollowingFolder; + //初始化 public NoteItemData(Context context, Cursor cursor) { + //获取属性值 mId = cursor.getLong(ID_COLUMN); mAlertDate = cursor.getLong(ALERTED_DATE_COLUMN); mBgColorId = cursor.getInt(BG_COLOR_ID_COLUMN); @@ -92,10 +95,11 @@ public class NoteItemData { mWidgetId = cursor.getInt(WIDGET_ID_COLUMN); mWidgetType = cursor.getInt(WIDGET_TYPE_COLUMN); + //初始化电话号码信息 mPhoneNumber = ""; - if (mParentId == Notes.ID_CALL_RECORD_FOLDER) { + if (mParentId == Notes.ID_CALL_RECORD_FOLDER) {//如果nParentId等于Notes.ID_CALL_RECORD_FOLDER mPhoneNumber = DataUtils.getCallNumberByNoteId(context.getContentResolver(), mId); - if (!TextUtils.isEmpty(mPhoneNumber)) { + if (!TextUtils.isEmpty(mPhoneNumber)) {//mphonenumber里有符合字符串,则用contart功能连接 mName = Contact.getContact(context, mPhoneNumber); if (mName == null) { mName = mPhoneNumber; @@ -106,28 +110,33 @@ public class NoteItemData { if (mName == null) { mName = ""; } + //检查光标位置 checkPostion(cursor); } private void checkPostion(Cursor cursor) { + //检查当前行是否是最后一行是就设置mIsLastItem为true反之为false mIsLastItem = cursor.isLast() ? true : false; + //检查当前行是否是第一行是就设置mIsFirstItem为true反之为false mIsFirstItem = cursor.isFirst() ? true : false; + //检查是否是唯一一行 mIsOnlyOneItem = (cursor.getCount() == 1); mIsMultiNotesFollowingFolder = false; mIsOneNoteFollowingFolder = false; - if (mType == Notes.TYPE_NOTE && !mIsFirstItem) { + if (mType == Notes.TYPE_NOTE && !mIsFirstItem) { //检查当前项是否为note而且不是第一行 + //获取当前行位置赋值给position int position = cursor.getPosition(); - if (cursor.moveToPrevious()) { + if (cursor.moveToPrevious()) { //获取光标位置后看上一行 if (cursor.getInt(TYPE_COLUMN) == Notes.TYPE_FOLDER - || cursor.getInt(TYPE_COLUMN) == Notes.TYPE_SYSTEM) { - if (cursor.getCount() > (position + 1)) { + || cursor.getInt(TYPE_COLUMN) == Notes.TYPE_SYSTEM) {//若光标满足系统或note格式 + if (cursor.getCount() > (position + 1)) {//如果行数大于位置+1则设置为true 表示是否为文件夹或系统类型后面的多行 mIsMultiNotesFollowingFolder = true; - } else { + } else { //否则设置mIsOneNoteFollowingFolder为true 表示当前行是文件夹或系统类型后面的唯一一行 mIsOneNoteFollowingFolder = true; } } - if (!cursor.moveToNext()) { + if (!cursor.moveToNext()) { //如果光标不能移动到下一行,则输出“移回先前位置但移动失败” throw new IllegalStateException("cursor move to previous but can't move back"); } } @@ -214,6 +223,8 @@ public class NoteItemData { return (mAlertDate > 0); } + //若数据父id为保存至文件夹模式的id且满足电话号码单元不为空 + //则isCallRecord为true public boolean isCallRecord() { return (mParentId == Notes.ID_CALL_RECORD_FOLDER && !TextUtils.isEmpty(mPhoneNumber)); }