我只是想做一件非常简单的事情:
如果我有一个编辑文本,我希望max在文本框的高度为5行文字,我是这样的,当用户打字时,然后他们点击“Enter”或“Next” “,我为他们创建了一条新行,但在开头注释了一些东西。即 - >如果我想要一个以:
开头的编辑文本 1.
如果用户输入“hi”,则编辑文本将显示为:
1. hi
但现在如果用户点击“Enter”/“Next”,那么我希望文本为:
1. hi
2.
我自动填写“2.”用新的一行。
这是我的编辑文字的外观:
<EditText
android:id="@+id/something"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLines="5"
android:inputType="textMultiLine"
android:imeOptions="actionNext"
android:text="1. "/>
当然,我为EditText的setOnEditorActionListener
提供了一个自定义的EditorAction,如下所示:
editText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
private int mNumberOfLines = 1;
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_NEXT) {
mNumberOfLines++;
editText.setText(editText.getText() + "\n" + mNumberOfLines + ". ");
editText.setSelection(editText.getText().length());
return true;
}
return false;
}
});
....为什么这不起作用?如果我使用text
而不是textMultiLine
,则editText无法识别换行符。但如果我使用textMultiLine
,则IME_ACTION_NEXT
的关键操作无法识别。跆拳道?