0
考慮:如何實現以下內容?
- 6項活動。 (A,B,C,D,E,F)
- 每個活動由幾個edittext或一個攝像頭實現和下一個按鈕來轉到下一個活動(要打開的活動取決於輸入的值用戶)。
- 如果edittexts可以顯示或不顯示來自服務器。
- 確認版面上沒有編輯文本,則只顯示下一個按鈕。
流的應用程序的:A->B->C(->D)->E->F
的活動d打開,只有當某一條件在活動C.
待辦事項滿足:
- 櫃面,該活動不包含edittext,只有下一個按鈕我應該可以跳過這個活動。
- 如果我的應用程序的流程是這樣的:
A->B->C->E->F
然後當我用力按壓背部的流動應該是F->E->C->B->A
- 如果我的應用程序的流程是這樣的:
A->B->C->D->E->F
然後當我用力按壓背部的流動應該是F->E->C->B->A
- 如果我的應用程序的流程是這樣的:
A->C->D->E->F
這裏我們跳過B,因爲有在活動B沒意見,當我按下難迴流量應該是F-> E-> C->一
我做了什麼:
要跳過活動時沒有字段可裏面的onCreate(),我檢查,如果有任何字段顯示,如果沒有的話,我在堆棧中添加活動名稱,如果它不存在於它,然後打開下一個活動。
// Block for skipping this screen if (skipScreen) { Intent i = new Intent(B.this, C.class); startActivity(i); finish(); } else { if (!Constants.st.contains(B.class)) { Constants.st.push(B.class); } }
當我按下回從活動中我POP()從棧和PEEK()在堆棧的頂部該活動的名稱和跳轉到該活動。
public void onBackPressed() { super.onBackPressed(); Constants.st.pop(); Intent i = null; if (Constants.st.isEmpty()) { i = new Intent(B.this, A.class); } else { Class<Activity> jumpTo = Constants.st.peek(); i = new Intent(B.this, jumpTo); } startActivity(i); finish(); }
哈哈..這很好解釋..你有沒有使用片段而不是activity.then你加載的活動作爲片段將只有你回來按下,所以你不必做頭痛做你打算做什麼...或者你可以做的是使用ObserverPattern ..很高興看到來自nagpur –
的人感謝,但實施已經完成使用活動,我不認爲我將被允許重新實施它,順便說一句,我現在住在孟買。也來自納格普爾? – dreamer
雅...然後檢查ObserverPattern爲您的實施 –