If I set SingleLine=true on an EditText widget, I get a single-line edit control that doesn\'t allow hard returns to be inserted by the user (clicking Enter moves to the nex
I too was looking for something to do this as well. The only solution I found was to extend the EditText as follows:
package com.kylemilligan.test;
import android.content.Context;
import android.util.AttributeSet;
import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.InputConnection;
import android.widget.EditText;
public class NoNewlineEditText extends EditText
{
public NoNewlineEditText(Context context) {
super(context);
}
public NoNewlineEditText(Context context, AttributeSet attributeSet) {
super(context, attributeSet);
}
@Override
public InputConnection onCreateInputConnection(EditorInfo outAttrs)
{
InputConnection connection = super.onCreateInputConnection(outAttrs);
int imeActions = outAttrs.imeOptions & EditorInfo.IME_MASK_ACTION;
if ((imeActions & EditorInfo.IME_ACTION_DONE) != 0)
{
// clear the existing action
outAttrs.imeOptions ^= imeActions;
// set the DONE action
outAttrs.imeOptions |= EditorInfo.IME_ACTION_DONE;
}
if ((outAttrs.imeOptions & EditorInfo.IME_FLAG_NO_ENTER_ACTION) != 0)
{
outAttrs.imeOptions &= ~EditorInfo.IME_FLAG_NO_ENTER_ACTION;
}
return connection;
}
}
And then in XML use like:
Hope this helps!