diff --git a/src/main/java/net/micode/notes/ui/NotesListActivity.java b/src/main/java/net/micode/notes/ui/NotesListActivity.java index 40f36ff..08b46bb 100644 --- a/src/main/java/net/micode/notes/ui/NotesListActivity.java +++ b/src/main/java/net/micode/notes/ui/NotesListActivity.java @@ -71,12 +71,14 @@ import net.micode.notes.tool.ResourceParser; import net.micode.notes.ui.NotesListAdapter.AppWidgetAttribute; import net.micode.notes.widget.NoteWidgetProvider_2x; import net.micode.notes.widget.NoteWidgetProvider_4x; +import net.micode.notes.model.WorkingFolder; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.HashSet; +import java.util.Stack; public class NotesListActivity extends Activity implements OnClickListener, OnItemLongClickListener { private static final int FOLDER_NOTE_LIST_QUERY_TOKEN = 0; @@ -115,6 +117,9 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt private long mCurrentFolderId; + private Stack mFolderIdStack=new Stack(); + + private ContentResolver mContentResolver; private ModeCallback mModeCallBack; @@ -551,6 +556,8 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt } private void openFolder(NoteItemData data) { + Long TempId=new Long(mCurrentFolderId); + mFolderIdStack.add(TempId); mCurrentFolderId = data.getId(); startAsyncNotesListQuery(); if (data.getId() == Notes.ID_CALL_RECORD_FOLDER) { @@ -692,8 +699,14 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt public void onBackPressed() { switch (mState) { case SUB_FOLDER: - mCurrentFolderId = Notes.ID_ROOT_FOLDER; - mState = ListEditState.NOTE_LIST; + mCurrentFolderId = mFolderIdStack.pop().longValue(); + //mCurrentFolderId = Notes.ID_ROOT_FOLDER; + if(mCurrentFolderId == Notes.ID_ROOT_FOLDER){ + mState = ListEditState.NOTE_LIST; + } + else{ + mState = ListEditState.SUB_FOLDER; + } startAsyncNotesListQuery(); mTitleBar.setVisibility(View.GONE); break;