我从多行编辑文本中获取文本。我需要在此文本中识别换行符。怎么做?
s.toString().contains("\\n")
返回假。
有一个错字。它应该是:
s.toString().contains("\n")
尝试:
for(int i=0; i<-s.toString().length()-1; i++)
{
if(s.toString().charAt(i)=='\\n')
{
Log.i("NEW LINE?", "NEW LINE");
}
}
或use .contains("\n")
作为
if(s.toString().contains("\n")==true)
{
Log.i("NEW LINE?", "NEW LINE");
}
else
{
Log.i("NOT NEW LINE", "NOT NEW LINE");
}
我通常通过在 EditText 上定义一个 KeyListener 来做到这一点。
每当您检测到换行符时,您都可以在代码中做任何您想做的事情。
userIdInput.setOnKeyListener(new View.OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_ENTER) {
// the enter key has been pressed. Do whatever you want to!
}
return false;
}
});
注意:如果您想告诉操作系统您已经处理了事件,则返回 true ,否则返回false。(但考虑到你的情况,我想你会想要返回 false)