<listing id="vjp15"></listing><menuitem id="vjp15"></menuitem><var id="vjp15"></var><cite id="vjp15"></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><menuitem id="vjp15"></menuitem></video></cite>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<menuitem id="vjp15"><strike id="vjp15"></strike></menuitem>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"></strike></var>
<var id="vjp15"></var>
<var id="vjp15"></var>
<var id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></var>
<menuitem id="vjp15"></menuitem><cite id="vjp15"><video id="vjp15"></video></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></cite>
<var id="vjp15"></var>
<var id="vjp15"></var>
<menuitem id="vjp15"><span id="vjp15"><thead id="vjp15"></thead></span></menuitem>
<cite id="vjp15"><video id="vjp15"></video></cite>
<menuitem id="vjp15"></menuitem>

一種基于安卓系統實現文字編輯中撤銷重做的方法_3

文檔序號:9887226閱讀:來源:國知局
點擊事件;若是,將redostack頂部 內容添加到undostack頂部,再將redostack頂部內容清除,然后將undostack頂部內容顯示 在文本編輯框中。
[0061 ] 實施例1
[0062] 本實施例利用如上所述的技術方案具體展示、介紹使用過程,用戶在使用如圖7應 用程序進行文本編輯。
[0063] 在文本編輯框中輸入"今天晚上有會,時間地點:晚上六點半,四樓會議室",如圖7 所示。輸入的過程中一直向undostack中添加新內容,undostack和redostack的存儲情況如 表1-2所示。
[0064] 表1 Undostack堆棧存儲情況 ΓηπΑ^Ι
[0068]假如用戶由于誤操作刪除掉重要信息"時間地點:下午六點半,四樓會議室"。此時 文本編輯框顯示的內容如圖8所示。此時undostack和redostack的存儲情況如表3-4所示, 由于并未點擊"撤銷",redostack堆棧的存儲情況與之前相比未發生變化。
[0069] 表3誤刪文本后的undostack堆棧存儲情況
[0070]
[0073] 當用戶長按文本編輯框時,彈出PopupWindow窗口,如圖9所示。
[0074]用戶點擊"撤銷"按鈕,此時undostack和redostack的存儲情況如表5-6所示,由表 3-6可知,點擊"撤銷"按鈕后,原表3中undostack堆棧中7處的內容添加至redostack堆棧的 〇處。
[0075]表5點擊"撤銷"按鈕后undostack堆棧存儲情況 「00761
[0077] 表6點擊"撤銷"按鈕后redostack堆棧存儲情況
[0078]
[0079]用戶點擊文本編輯框,關閉PopupWindow窗口,此時文本編輯框界面如圖10所示。
[0080] 實施例2
[0081] 本實施例利用如【具體實施方式】所述的技術方案具體展示、介紹使用過程,用戶在 使用如圖7應用程序進行文本編輯。
[0082] 本實施例中,用戶進行了實施例1的所有操作后,想要重新刪除"時間地點:下午六 點半,四樓會議室"。
[0083] 當用戶長按文本編輯框時,彈出PopupWindow窗口,如圖11所示。
[0084]用戶點擊"重做"按鈕后,文本編輯框顯示的內容如圖12所示,此時undostack和 redostack的存儲情況如表7-8所示。
[0085]表7點擊"重做"按鈕后undostack堆棧存儲情況
[0089] 然后用戶點擊文本編輯框,關閉PopupWindow窗口,如圖13所示。
【主權項】
1. 一種基于安卓系統實現文字編輯中撤銷重做的方法,其特征在于,用戶在文本編輯 框中進行文本內容操作,當用戶不想取消文本內容操作時,用戶不作為;當用戶想取消文本 內容操作時,用戶撤銷文本內容操作,在用戶撤銷文本內容操作后:當用戶想重新恢復文本 內容操作時,用戶重做文本內容操作;當用戶不想重新恢復文本內容操作,用戶不作為;優 選的,所述文本內容操作包括輸入和刪除。2. 根據權利要求1所述的基于安卓系統實現文字編輯中撤銷重做的方法,其特征在于, 包括步驟如下: (1) 、通過ArrayList創建兩個堆棧,采用堆棧存儲文本編輯框中輸入的文本內容; (2) 、為文本編輯框綁定監聽器,所述監聽器為TextChangeListener、 OnLongClickListener和 OnClickListener;為文本編輯框綁定 TextChangeListener,監聽 文本編輯框內文本內容是否變化,并重寫beforeTextChanged()方法和afterTextChanged ()方法來響應文本內容變更事件;為文本編輯框綁定OnLongCl ickListener,監聽文本編輯 框長按事件,并重寫〇nLongClick()方法來響應長按事件,當長按文本編輯框時彈出窗口; 為文本編輯框綁定OnClickListener,監聽文本編輯框點擊事件,并重寫onClick()方法來 響應文本編輯框點擊事件; (3) 、設計彈出窗口的布局文件,在所述布局文件中設計包括"撤銷"按鈕和"重做"按 鈕; (4) 、為"撤銷"按鈕和"重做"按鈕分別綁定OnClickListener。3. 根據權利要求2所述的基于安卓系統實現文字編輯中撤銷重做的方法,其特征在于, 步驟(1)中,兩個堆棧分別是undostack和redostack。4. 根據權利要求2所述的基于安卓系統實現文字編輯中撤銷重做的方法,其特征在于, 步驟(1)中,文本編輯框為原始的EditText控件或用戶自定義的繼承于EditText的子類控 件。5. 根據權利要求2所述的基于安卓系統實現文字編輯中撤銷重做的方法,其特征在于, 步驟(2)中,彈出窗口為PopupWindow窗口。6. 根據權利要求2所述的基于安卓系統實現文字編輯中撤銷重做的方法,其特征在于, 步驟(2)中,為文本編輯框綁定TextChangeListener,監聽是否有文本內容變更事件,若否, 繼續監聽;若是,在beforeTextChangedO方法中創建字符串變量bf,將變更前文本c賦給字 符串變量bf,bf = c.toString〇 ; 在3;1^61^611:0^1^6(1()方法中,判斷1111(1〇8丨3〇1^長度是否大于0:若否,將變更后文本8 添加到undostack的頂部;若是,判斷變更后文本s與undostack頂部內容、字符串變量bf是 否相同:若變更后文本s與undostack頂部內容相同、或變更后文本s與字符串變量bf相同, 則忽略此次文本內容變更事件,若變更后文本s與undostack頂部內容、字符串變量bf均不 同,則將變更后文本s添加到undostack的頂部。7. 根據權利要求5所述的基于安卓系統實現文字編輯中撤銷重做的方法,其特征在于, 步驟(2)中,為文本編輯框綁定OnLongClickListener,監聽文本編輯框是否有長按事件,若 否,繼續監聽;若有,彈出PopupWindow窗口,并在onLongClickO方法中,設置PopupWindow 窗口的屬性,屬性包括PopupWindow窗口的布局文件、窗口彈出的位置、窗口的大小。8. 根據權利要求2所述的基于安卓系統實現文字編輯中撤銷重做的方法,其特征在于, 步驟(2)中,為文本編輯框綁定OnClickListener,監聽是否有文本編輯框點擊事件,若否, 繼續監聽;若有,在〇nClick()方法中,先判斷是否有PopupWindow對象以及PopupWindow對 象是否正在顯示:若無 PopupWindow對象或PopupWindow對象未正在顯示,則忽略此次文本 編輯框點擊事件;若有PopupWindow對象且PopupWindow對象正在顯示,則將PopupWindow窗 口關閉。9. 根據權利要求2所述的基于安卓系統實現文字編輯中撤銷重做的方法,其特征在于, 步驟⑷中,為"撤銷"按鈕綁定OnClickListener,監聽有無"撤銷"按鈕點擊事件,點擊"撤 銷"按鈕,貝在"撤銷"按鈕綁定監聽器時重寫的onClick()方法中,將undostack頂部內容轉 移到redostack中;為"重做"按鈕綁定OnClickListener,監聽有無點擊"重做"按鈕,點擊 "重做"按鈕,則在"重做"按鈕綁定監聽器時重寫的onClickO方法中,將redostack頂部內 容轉移到undostack中。10. 根據權利要求9所述的基于安卓系統實現文字編輯中撤銷重做的方法,其特征在 于,所述步驟(4)中,為"撤銷"按鈕綁定OnClickListener,當監聽到點擊"撤銷"按鈕時,在 "撤銷"按鈕綁定監聽器時重寫的onClickO方法中,先判斷undostack的長度是否大于0:若 否,將文本編輯框內容清空,若是,先將undos tack頂部內容添加到redo stack頂部,再將 undostack頂部內容清除,然后再一次判斷undostack此時的長度是否大于0:若否,將文本 編輯框內容清空,若是,將此時undostack頂部內容顯示在文本編輯框中; 為"重做"按鈕綁定OnCl ickListener,當監聽到點擊"重做"按鈕時,在"重做"按鈕綁定 監聽器時重寫的onClickO方法中,先判斷redostack的長度是否大于0:若否,忽略此次"重 做"按鈕點擊事件;若是,將redostack頂部內容添加到undostack頂部,再將redostack頂部 內容清除,然后將undostack頂部內容顯示在文本編輯框中。
【專利摘要】本發明涉及一種基于安卓系統實現文字編輯中撤銷重做的方法,屬于安卓系統終端設備編輯技術領域。方法如下:采用堆棧的方式存儲文本內容,通過使用ArrayList創建兩個堆棧,以將新的文本存入堆棧中;為文本編輯框綁定監聽器,以彈出窗口,在窗口中設置“撤銷”按鈕和“重做”按鈕,并對兩個按鈕分別綁定監聽器,為文本編輯框綁定監聽器,以將窗口關閉。用戶在編輯文本時,若有撤銷或重做需求時,長按文本編輯框便可彈出窗口,窗口中有撤銷和重做按鈕,點擊對應按鈕便可實現操作。通過本發明,用戶可以實現對文本編輯過程中誤操作的撤銷和文本編輯的重做,減少了用戶重復編輯工作,提高了用戶體驗。
【IPC分類】G06F17/24, G06F3/0481
【公開號】CN105653121
【申請號】
【發明人】袁東風, 馬閃閃
【申請人】山東大學
【公開日】2016年6月8日
【申請日】2015年12月22日
當前第3頁1 2 3 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
韩国伦理电影