From 8734ae39922f908130cdef3007e85bdf47839bbc Mon Sep 17 00:00:00 2001 From: hyb1996 <946994919@qq.com> Date: Tue, 1 Aug 2017 10:55:56 +0800 Subject: [PATCH] fix: code completion not working at first line --- .../scriptdroid/ui/edit/completion/CodeCompletion.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/stardust/scriptdroid/ui/edit/completion/CodeCompletion.java b/app/src/main/java/com/stardust/scriptdroid/ui/edit/completion/CodeCompletion.java index e6bdae80..e1dcfc48 100644 --- a/app/src/main/java/com/stardust/scriptdroid/ui/edit/completion/CodeCompletion.java +++ b/app/src/main/java/com/stardust/scriptdroid/ui/edit/completion/CodeCompletion.java @@ -21,7 +21,7 @@ import java.util.TreeSet; /** * Created by Stardust on 2017/2/17. */ - +// TODO: 2017/8/1 refactor public class CodeCompletion implements TextWatcher { @@ -108,6 +108,8 @@ public class CodeCompletion implements TextWatcher { } private String[] parseWordBefore(Editable s, int position) { + if (position == 0) + return null; int i; for (i = position - 1; i >= 0; i--) { if (position - i > KEY_WORD_LENGTH_MAX) { @@ -125,10 +127,12 @@ public class CodeCompletion implements TextWatcher { } } } - return null; + return new String[]{s.subSequence(0, position).toString(), null}; } private String parseWordBeforeDot(Editable s, int position) { + if (position == 0) + return null; int i; for (i = position - 1; i >= 0; i--) { if (position - i > KEY_WORD_LENGTH_MAX) { @@ -142,7 +146,7 @@ public class CodeCompletion implements TextWatcher { } } } - return null; + return s.subSequence(0, position).toString(); }