2013-07-03 108 views
0

我想在Android設計一個計算器應用程序來同時學習Java和Android,但我確實有過使用C++的經驗。如何在Android Calculator應用程序中跟蹤光標?

到目前爲止,我有兩個TextView元素。一個顯示答案,一個顯示輸入。但是我不想使用用戶鍵盤。我想有我自己的按鈕來導航輸入字段。這是計算器應用程序的標準。

如果用戶將3 + 45/2.45 * tan(9)放入字符串數組中,該數組將讀取 {3,+,45,/,2.45,*,tan,(,9,) }。然後進行驗證,並在用戶按等於時通過RPN函數進行處理。

現在這顯示所有很好,但我無法弄清楚如何實現退格或箭頭鍵將導航此輸入TextView字段。我需要知道哪裏的光標,我不知道甚至可以使用TextView啓用。我需要切換到EditView嗎?我需要功能,所以光標可以跳過一個箭頭的功能,只需按下一次刪除按鈕即可刪除功能,但仍然可以在單次按下時導航非功能。例如,在退格時,應該刪除所有的棕褐色,而不是僅僅留下「ta」。

任何想法從哪裏開始?

回答

0

您可以使用getSelectionStart()和getSelectionEnd()方法獲取Cursor位置。如果沒有文本突出顯示,則getSelectionStart()和getSelectionEnd()將返回遊標的位置。

另外,看看TextWatcher類。它的Android使用,例如,自動格式化/調整電話號碼,同時輸入等。

在這裏你可以找到一個Android的TextWatchers中使用的列表給你一個想法; http://grepcode.com/file/repo1.maven.org/maven2/com.google.android/android/2.2.1/android/text/TextWatcher.java

+0

謝謝你讓我走上了正確的道路。電話號碼代碼與我正在查找的行爲非常相似!如果可以的話,我會加倍努力... – Steven

+0

不客氣,祝你好運:) –