複数行の編集テキストからテキストを取得しています。このテキストで改行文字を識別する必要があります。どうやってするの?
s.toString().contains("\\n")
falseを返します。
複数行の編集テキストからテキストを取得しています。このテキストで改行文字を識別する必要があります。どうやってするの?
s.toString().contains("\\n")
falseを返します。
タイプミスがあります。そのはず:
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;
}
});
注:イベントを処理したことをOSに通知する場合はtrueを返し、それ以外の場合はfalseを返します。(しかし、あなたのシナリオを考えると、私はあなたがfalseを返したいと思うでしょう)