Appcrash:如何通过按删除按钮删除编辑文本中的字符?
Appcrash: How to delete a character in edittext by pressing delete button?
edittext
只有一个字符限制,一个删除按钮删除了edittext中的字符,但问题是当我在空edittext
中按下删除按钮时。应用程序崩溃。
我使用了下面的代码,但是当我在空白处单击 del btn 时 edittext
,应用程序崩溃。
del.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String text = et1.getText().toString();
et1.setText(text.substring(0, text.length() - 1));
}
});
此错误显示在 logcat 中。
IInputConnectionWrapper: endBatchEdit on inactive InputConnection
请帮助我。提前致谢
but the problem is when I pressed the delete btn in empty edittext. App becomes crash.
是的,因为您正在尝试对 null 执行 substring
,这就是它崩溃的原因,要避免它,只需在执行操作之前添加一个 if
条件,如下所示:
del.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String text = et1.getText().toString();
if(!text.isEmpty()) et1.setText(text.substring(0, text.length() - 1));
}
});
试试这个代码
String text = et1.getText().toString();
if(!text.isEmpty())
{
et1.setText(text.substring(0, text.length() - 1));
}
edittext
只有一个字符限制,一个删除按钮删除了edittext中的字符,但问题是当我在空edittext
中按下删除按钮时。应用程序崩溃。
我使用了下面的代码,但是当我在空白处单击 del btn 时 edittext
,应用程序崩溃。
del.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String text = et1.getText().toString();
et1.setText(text.substring(0, text.length() - 1));
}
});
此错误显示在 logcat 中。
IInputConnectionWrapper: endBatchEdit on inactive InputConnection
请帮助我。提前致谢
but the problem is when I pressed the delete btn in empty edittext. App becomes crash.
是的,因为您正在尝试对 null 执行 substring
,这就是它崩溃的原因,要避免它,只需在执行操作之前添加一个 if
条件,如下所示:
del.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String text = et1.getText().toString();
if(!text.isEmpty()) et1.setText(text.substring(0, text.length() - 1));
}
});
试试这个代码
String text = et1.getText().toString();
if(!text.isEmpty())
{
et1.setText(text.substring(0, text.length() - 1));
}