当编辑文本上的回车键被按下时,我试图简单地向listview添加一些内容。我在按钮上也有一个点击监听器,它将调用相同的函数将单词添加到listview。按钮工作正常,直到我添加了文本监视程序。现在,如果我调用的函数在监听器中,如果我按回车键或按下按钮,整个应用程序就会崩溃。如果我从文本监视程序中删除类,那么如果我按下回车键,应用程序不会崩溃,但如果我按下按钮,它会崩溃。有什么想法吗?我已经很久没用Android了,所以我完全卡住了。
XML
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/myEditText"
android:hint="Enter a new item"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_toLeftOf="@+id/myDoneButton"
android:layout_toStartOf="@+id/myDoneButton"
android:layout_above="@+id/myListView"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Add Item"
android:id="@+id/myDoneButton"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:onClick="onAddItem"
/>
JAVA
//On enter listener for mEditText (within oncreate)
mEditText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
if (s.charAt(s.length() - 1) == '\n') {
onAddItem(mListView);
Log.d("TEST RESPONSE", "Enter was pressed");
}
}
});
//Outside of oncreate
public void onAddItem(View v) {
String itemText = mEditText.getText().toString();
itemsAdapter.add(itemText);
mEditText.setText("");
writeItems();
}
以下是Logcat提供的相关信息
04-11 16:26:23.619 13377-13377/com.ivieinc.groceryapp E/AndroidRuntime:
FATAL EXCEPTION: main Process: com.ivieinc.groceryapp, PID: 13377 java.lang.IllegalStateException: Could not execute method for android:onClick
... (removed for clarity)
Caused by: java.lang.reflect.InvocationTargetException
... (removed for clarity)
Caused by: java.lang.IndexOutOfBoundsException: charAt: -1 < 0
at android.text.SpannableStringBuilder.charAt(SpannableStringBuilder.java:117)
at com.ivieinc.groceryapp.MainActivity$1.afterTextChanged(MainActivity.java:69)
at android.widget.TextView.sendAfterTextChanged(TextView.java:8007)
at android.widget.TextView.setText(TextView.java:4351)
at android.widget.TextView.setText(TextView.java:4199)
at android.widget.EditText.setText(EditText.java:84)
at android.widget.TextView.setText(TextView.java:4174)
at com.ivieinc.groceryapp.MainActivity.onAddItem(MainActivity.java:108)
... (removed for clarity)
您的错误在这里:
if (s.charAt(s.length() - 1) == '\n') {
由于您试图获取的字符长度是空的,
代码是空的。。。
您必须验证可编辑的属性
我正在开发一个Android聊天应用程序。一切运作良好,但除了一件事;我想设置一个布局的可见性消失,然后设置一个不同的布局可见时,用户开始输入编辑文本,就像在WhatsApp上实现的。但是我似乎想不明白。任何帮助都将不胜感激 基本上,我想做的是设置一个布局的可见性,该布局包含一个图像按钮,用于将图像上载到gone,然后显示一个布局,该布局包含一个图像按钮,用于在用户开始键入时将edittext中的
有人能提出什么解决办法吗?
我有一个EditText,当我将它设置为空并点击按钮时,我的应用程序崩溃了。 当我在Android Monitor中查看它时,它指向一行: 这是我的代码: 线性布局 我的Java代码:
我在一个编辑文本上使用textChangedListener来显示/隐藏一个浮动的动作按钮。 一切都按预期工作。如果编辑文本不为空,则显示 fab,如果为空,则隐藏 fab。 但是我注意到,在使用退格时,要删除输入的文本,删除第一个空格会触发隐藏fab,然后快速fab显示,因为editText不为空。 我环顾四周,没有看到任何关于这方面的信息。所以我一定做错了什么,但我不确定是什么。 下面是我的实
Django集成UEditor (封装成应用) 百度富文本编辑器 http://ueditor.baidu.com/website/ 使用效果 测试环境 ubuntu 16.04 python3.5.2 django1.11.7 目前测试解决了出现的以下两个问题,都是python版本问题 error1 # name 'file' is not defined controller.py 68行
JOE ( Joe's Owner Editor) 是一个非常著名的基于 Linux 控制台下的文本编辑器