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