You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
software/NotesListActivity.txt

110 lines
3.2 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

/**
* 便签列表活动,用于展示和管理便签列表。
*/
public class NotesListActivity extends Activity implements OnClickListener, OnItemLongClickListener {
// 定义查询令牌
private static final int FOLDER_NOTE_LIST_QUERY_TOKEN = 0;
private static final int FOLDER_LIST_QUERY_TOKEN = 1;
// 定义菜单项ID
private static final int MENU_FOLDER_DELETE = 0;
private static final int MENU_FOLDER_VIEW = 1;
private static final int MENU_FOLDER_CHANGE_NAME = 2;
// 定义偏好设置键
private static final String PREFERENCE_ADD_INTRODUCTION = "net.micode.notes.introduction";
// 枚举,表示当前列表的编辑状态
private enum ListEditState {
NOTE_LIST, SUB_FOLDER, CALL_RECORD_FOLDER
};
// 类成员变量
private ListEditState mState;
private BackgroundQueryHandler mBackgroundQueryHandler;
private NotesListAdapter mNotesListAdapter;
private ListView mNotesListView;
private Button mAddNewNote;
private boolean mDispatch;
private int mOriginY;
private int mDispatchY;
private TextView mTitleBar;
private long mCurrentFolderId;
private ContentResolver mContentResolver;
private ModeCallback mModeCallBack;
private static final String TAG = "NotesListActivity";
private NoteItemData mFocusNoteDataItem;
// onCreate方法活动创建时调用
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.note_list);
initResources();
setAppInfoFromRawRes();
}
// 初始化资源
private void initResources() {
// 初始化代码...
}
// 从raw资源文件中设置应用信息
private void setAppInfoFromRawRes() {
// 读取介绍信息并显示
}
// onStart方法活动启动时调用
@Override
protected void onStart() {
super.onStart();
startAsyncNotesListQuery();
}
// 启动异步查询便签列表
private void startAsyncNotesListQuery() {
// 查询代码...
}
// 异步查询处理器
private final class BackgroundQueryHandler extends AsyncQueryHandler {
// 构造函数和onQueryComplete方法...
}
// 显示文件夹列表菜单
private void showFolderListMenu(Cursor cursor) {
// 显示文件夹列表菜单代码...
}
// 创建新便签
private void createNewNote() {
// 创建新便签代码...
}
// 批量删除便签
private void batchDelete() {
// 批量删除便签代码...
}
// 删除文件夹
private void deleteFolder(long folderId) {
// 删除文件夹代码...
}
// 打开节点(便签或文件夹)
private void openNode(NoteItemData data) {
// 打开便签节点代码...
}
// 打开文件夹
private void openFolder(NoteItemData data) {
// 打开文件夹代码...
}
// onClick方法处理点击事件
public void onClick(View v) {
// 处理点击事件代码...
}
// 其他方法,包括处理选项菜单、上下文菜单、搜索请求等...
}