我想創建我的第一個Android應用程序,它將幫助我進行一些概述。在android文本視圖中檢測新行
很簡單,我試圖寫一些檢測,當一行以連字符開頭時,下一次有一個新行連字符將放在該新行的前面。
我正在尋找任何指針或指示我應該在哪裏尋找,因爲這是我的第一個應用程序。
或者從另一種意義上說,檢測正在輸入的文本並根據它改變EditText
的最好方法是什麼。
我想創建我的第一個Android應用程序,它將幫助我進行一些概述。在android文本視圖中檢測新行
很簡單,我試圖寫一些檢測,當一行以連字符開頭時,下一次有一個新行連字符將放在該新行的前面。
我正在尋找任何指針或指示我應該在哪裏尋找,因爲這是我的第一個應用程序。
或者從另一種意義上說,檢測正在輸入的文本並根據它改變EditText
的最好方法是什麼。
您可以使用可附加到事件的android文本觀察器類。
EditText mPasswordLength = (EditText)findViewById(R.id.password_length);
mPasswordLength.addTextChangedListener(new TextWatcher() {
public void afterTextChanged(Editable s){
}
public void beforeTextChanged(CharSequence s, int start, int count, int after){
}
public void onTextChanged(CharSequence s, int start, int before, int count){
}
});
您可以用來編輯文本的方法是onTextChanged。有關這些事件何時發生以及爲何發生的更詳細的說明在此post.中進行了解釋。以最高票數閱讀答案。
要用於EditText
的OnKeyListener
,則在聽者的onKey(View v, int keyCode, KeyEvent event)
方法,看它是否是event
是KeyEvent.ACTION_DOWN
和keyCode
是KeyEvent.KEYCODE_ENTER
,如果是的話則追加一個「 - 」到的EditText結束。
由於OnKeyListener不適用於軟鍵盤,因此我建議使用TextWatcher。
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
if(-1 != charSequence.toString().indexOf("\n")){
// Do your stuff
}
}
當你想更換一些其他字符串這個序列,試試這個:
public void afterTextChanged(Editable editable) {
int i = editable.toString().indexOf("\n");
if (i != -1) {
editable.replace(i, i+1, "");
}
}
你有沒有完成[教程](http://developer.android.com/resources/browser。 HTML?標籤=教程)? – jacknad