如何检查edittext是否是单行android

时间:2016-02-08 18:30:10

标签: android-edittext

我正在制作一个自定义的Android键盘。我想确保当用户按下Enter键时,发生了适当的EditorAction。因此我想知道有没有办法检查edittext是否是单行?或者有没有办法检查editext的最小和最大行?

2 个答案:

答案 0 :(得分:1)

foronStartInput(EditorInfo info)回调中传入EditorInfo。

要检查它是否是多行,您可以执行以下操作:

onStartInputView(EditorInfo info)

See TYPE_TEXT_FLAG_MULTI_LINE

答案 1 :(得分:0)

您可以通过设置键侦听器并检查getMaxLines()和getMinLines()属性来实现它。请注意,它适用于API> 15!

EditText editText = new EditText(this);

editText.setOnKeyListener(new View.OnKeyListener()
{
    @Override
    public boolean onKey(View view, int keyCode, KeyEvent keyEvent)
    {
        if (view instanceof EditText && ((EditText) view).getMaxLines() == 1 && ((EditText) view).getMinLines() == 1)
        {
            // this is a single line EditText view
        }
        return false;
    }
});