每次插入新行后Android get EditText行数
通过下面的代码,我试图显示插入新行后的每次插入新行后Android get EditText行数,android,Android,通过下面的代码,我试图显示插入新行后的EditText行数,该代码仅适用于第一个新行,之后,对于EditText中的每个类型字符,我在LogCat上插入新行日志 editText.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Overrid
EditText
行数,该代码仅适用于第一个新行,之后,对于EditText
中的每个类型字符,我在LogCat
上插入新行日志
editText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence text, int start, int before, int count) {
if (-1 != text.toString().indexOf("\n")) {
Log.e("new line ", "enter new line" + "");
}
}
@Override
public void afterTextChanged(Editable s) {
}
});
试试这个
editText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence text, int start, int before, int count) {
String insertedString = text.toString();
if (text.length() > 0 && insertedString.substring(insertedString.length() - 1).equals("\n")) {
Log.e("new line ", "enter new line " + (channelMessageBox.getLineCount() - 1));
}
}
@Override
public void afterTextChanged(Editable s) {
}
});
试试这个
editText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence text, int start, int before, int count) {
String insertedString = text.toString();
if (text.length() > 0 && insertedString.substring(insertedString.length() - 1).equals("\n")) {
Log.e("new line ", "enter new line " + (channelMessageBox.getLineCount() - 1));
}
}
@Override
public void afterTextChanged(Editable s) {
}
});
您必须计算换行代码:
int counter = 0;
editText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence text, int start, int before, int count) {
if(before==0) {
counter = 0;
for (int i = 0; i < text.toString().length(); i++) {
if (text.toString().charAt(i) == '\n') {
counter++;
}
}
}
Log.e("total new line ", "counter: " + counter);
}
@Override
public void afterTextChanged(Editable s) {
}
});
int计数器=0;
editText.addTextChangedListener(新的TextWatcher(){
@凌驾
更改前文本之前的公共void(字符序列s、int start、int count、int after){
}
@凌驾
public void onTextChanged(字符序列文本、int start、int before、int count){
如果(之前==0){
计数器=0;
对于(int i=0;i
您必须计算换行代码:
int counter = 0;
editText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence text, int start, int before, int count) {
if(before==0) {
counter = 0;
for (int i = 0; i < text.toString().length(); i++) {
if (text.toString().charAt(i) == '\n') {
counter++;
}
}
}
Log.e("total new line ", "counter: " + counter);
}
@Override
public void afterTextChanged(Editable s) {
}
});
int计数器=0;
editText.addTextChangedListener(新的TextWatcher(){
@凌驾
更改前文本之前的公共void(字符序列s、int start、int count、int after){
}
@凌驾
public void onTextChanged(字符序列文本、int start、int before、int count){
如果(之前==0){
计数器=0;
对于(int i=0;i
您将获得每个字符的新行indexOf(“\n”)
总是返回一些值,因为如果出现第一个新行。然后在该文本中出现一个新行,您将为每个字符获得新行indexOf(“\n”)
总是返回一些值,因为如果出现第一个新行。然后在那个文本中出现了一个新行,当然它不起作用了。他根本没读你的问题。使用此代码,您将计算第一行,然后它将停止。只要数一数\n个字符,你就可以开始了,而不是寻找索引。@Amy请将/n
更改为\n
,现在如何获得行数?@Amy我将你的代码更新为:if(text.length()>0&&insertedString.substring(insertedString.length()-1)。等于(“\n”){Log.e(“新行”,“输入新行”+(channelMessageBox.getLineCount()-1));}
当然不起作用。他根本没有读你的问题。有了这个代码,你会数一数第一行,然后它就会停止。只需数一数\n个字符,你就可以开始了,而不是寻找索引。@Amy请将/n
更改为\n
,现在如何获得行数?@Amy我将你的代码更新为:如果(text.length()>0&&insertedString.substring(insertedString.length()-1).equals(“\n”){Log.e(“新行”,“输入新行”+(channelMessageBox.getLineCount()-1));}
这不是一个好的解决方案,因为对于每个键入字符,您都必须检查它OK。我正在尝试给您更好的解决方案。:)我尝试了几种解决方案,但最终得到了这个解决方案。我只是编辑了我的答案,这是一个更优化的解决方案。@tux world这不是一个好的解决方案,因为对于每个键入字符,你都必须检查它。好的。我试图给你更好的解决方案。:)我尝试了几种解决方案,但最终得到了这个解决方案。我只是编辑我的答案,这是更优化@晚礼服世界