我的代码可以在按下Enter键时删除键盘。现在的问题是EditView插入了新行。我试图从textview中获取文本并删除所有回车符。但这行不通。

这是代码:

mUserName.setOnEditorActionListener(
    new android.widget.TextView.OnEditorActionListener()
    {
        public boolean onEditorAction(TextView v, int actionId, KeyEvent event)
        {
            InputMethodManager imm = (InputMethodManager)getSystemService(
            Context.INPUT_METHOD_SERVICE);
            imm.hideSoftInputFromWindow(mUserName.getWindowToken(), 0);

            CharSequence c=v.getText();
            String h= c.toString();
            v.setText(h.replaceAll("\n",""));

            return false;
        }
    }
);

最佳答案

要将输入限制为仅一行,请使用

mUserName.setLines(1);
mUserName.setMaxLines(1);


或者,mUserName.setSingleLine(true);

09-09 23:04