From 9e3b40e3c9f8cfd52a36500c7d7b4feac9f9bc53 Mon Sep 17 00:00:00 2001 From: hyb1996 <946994919@qq.com> Date: Thu, 18 Oct 2018 10:35:14 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20java.util.concurrent.Rejec?= =?UTF-8?q?tedExecutionException?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Task org.autojs.autojs.model.autocomplete.AnyWordsCompletion$$Lambda$0@d714baf rejected from java.util.concurrent.ThreadPoolExecutor@6a6bbbc[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 30] --- .../autojs/autojs/model/autocomplete/AnyWordsCompletion.java | 3 ++- .../org/autojs/autojs/model/autocomplete/AutoCompletion.java | 5 ++++- .../java/org/autojs/autojs/ui/widget/SimpleTextWatcher.java | 3 +++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/autojs/autojs/model/autocomplete/AnyWordsCompletion.java b/app/src/main/java/org/autojs/autojs/model/autocomplete/AnyWordsCompletion.java index d371498e..511a14b9 100644 --- a/app/src/main/java/org/autojs/autojs/model/autocomplete/AnyWordsCompletion.java +++ b/app/src/main/java/org/autojs/autojs/model/autocomplete/AnyWordsCompletion.java @@ -1,6 +1,7 @@ package org.autojs.autojs.model.autocomplete; import android.text.Editable; +import android.text.TextWatcher; import org.autojs.autojs.model.indices.Property; import org.autojs.autojs.ui.widget.SimpleTextWatcher; @@ -15,7 +16,7 @@ import java.util.regex.Pattern; * Created by Stardust on 2018/2/26. */ -public class AnyWordsCompletion implements SimpleTextWatcher.AfterTextChangedListener { +public class AnyWordsCompletion extends SimpleTextWatcher { private static final String PATTERN = "[\\W]"; diff --git a/app/src/main/java/org/autojs/autojs/model/autocomplete/AutoCompletion.java b/app/src/main/java/org/autojs/autojs/model/autocomplete/AutoCompletion.java index ca95c75f..514a3ce8 100644 --- a/app/src/main/java/org/autojs/autojs/model/autocomplete/AutoCompletion.java +++ b/app/src/main/java/org/autojs/autojs/model/autocomplete/AutoCompletion.java @@ -45,11 +45,13 @@ public class AutoCompletion { private AnyWordsCompletion mAnyWordsCompletion; private AtomicInteger mExecuteId = new AtomicInteger(); private Handler mHandler = new Handler(Looper.getMainLooper()); + private final EditText mEditText; public AutoCompletion(Context context, EditText editText) { buildDictionaryTree(context); + mEditText = editText; mAnyWordsCompletion = new AnyWordsCompletion(mExecutorService); - editText.addTextChangedListener(new SimpleTextWatcher(mAnyWordsCompletion)); + editText.addTextChangedListener(mAnyWordsCompletion); } public void setAutoCompleteCallback(AutoCompleteCallback autoCompleteCallback) { @@ -162,6 +164,7 @@ public class AutoCompletion { public void shutdown(){ + mEditText.removeTextChangedListener(mAnyWordsCompletion); mExecutorService.shutdownNow(); } } diff --git a/app/src/main/java/org/autojs/autojs/ui/widget/SimpleTextWatcher.java b/app/src/main/java/org/autojs/autojs/ui/widget/SimpleTextWatcher.java index 1fba7a31..98312c68 100644 --- a/app/src/main/java/org/autojs/autojs/ui/widget/SimpleTextWatcher.java +++ b/app/src/main/java/org/autojs/autojs/ui/widget/SimpleTextWatcher.java @@ -43,6 +43,9 @@ public class SimpleTextWatcher implements TextWatcher { mOnTextChangedListener = onTextChangedListener; } + public SimpleTextWatcher() { + } + @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { if (mBeforeTextChangedListener != null) {