Java 在android文本视图中检测新行
我正在尝试创建我的第一个Android应用程序,它将帮助我做一些概述 非常简单,我试图编写某种检测,当一行以连字符开头时,下一次有新行时,连字符将放在新行前面 我正在寻找我应该寻找的任何指针或方向,因为这是我的第一个应用程序Java 在android文本视图中检测新行,java,android,text,Java,Android,Text,我正在尝试创建我的第一个Android应用程序,它将帮助我做一些概述 非常简单,我试图编写某种检测,当一行以连字符开头时,下一次有新行时,连字符将放在新行前面 我正在寻找我应该寻找的任何指针或方向,因为这是我的第一个应用程序 或者在另一种意义上,什么是检测正在键入的文本并基于它更改EditText的最佳方法。您希望EditText有一个OnKeyListener,然后在侦听器的onKey(视图v,int-keyCode,KeyEvent事件)方法中,查看是否是事件是KeyEvent.ACTION
或者在另一种意义上,什么是检测正在键入的文本并基于它更改
EditText
的最佳方法。您希望EditText
有一个OnKeyListener
,然后在侦听器的onKey(视图v,int-keyCode,KeyEvent事件)
方法中,查看是否是事件
是KeyEvent.ACTION\u DOWN
,keyCode
是KeyEvent.keyCode\u ENTER
,如果是,则在编辑文本的末尾附加一个“-”。您可以使用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){
}
});
可用于编辑文本的方法已更改。关于触发这些事件的时间和原因的更详细描述将在本文中解释。请用最多投票数阅读答案。由于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, "");
}
}
你完成考试了吗?