我正在制作一个自定义的Android键盘。我想确保当用户按下Enter键时,发生了适当的EditorAction。因此我想知道有没有办法检查edittext是否是单行?或者有没有办法检查editext的最小和最大行?
答案 0 :(得分:1)
在for
和onStartInput(EditorInfo info)
回调中传入EditorInfo。
要检查它是否是多行,您可以执行以下操作:
onStartInputView(EditorInfo info)
答案 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;
}
});