/** * 便签列表活动,用于展示和管理便签列表。 */ 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) { // 处理点击事件代码... } // 其他方法,包括处理选项菜单、上下文菜单、搜索请求等... }