#android
#Android
Вопрос:
Как вы можете запретить кому-либо вводить следующее в EditText, где setLines = 4?
dfa
d
ads
dd
adf
adf
ddf
ad
ddas
Ответ №1:
Ну, на самом деле вы не можете запретить кому-либо вводить более четырех строк. Если он просто печатает, не добавляя новые строки вручную, вы никогда не узнаете, сколько строк он ввел.
Однако вы можете ограничить количество добавляемых вручную новых строк (с помощью клавиши enter), нажав на OnKeyListener
из EditView
:
EditText edit = (EditText)findViewById(R.id.edit);
edit.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_ENTER) {
int lineCount = ((EditText)v).getText().toString().split("\n").length;
if (lineCount > 3) {
return true;
}
}
return false;
}
});
Это довольно сложный метод, но пока единственный, который я могу придумать…
Комментарии:
1. Я также сталкивался с этой проблемой, и на данный момент это кажется единственным (разумным) способом ее решения.