From d9d6020c15206dbe522d22794dac37bc17542022 Mon Sep 17 00:00:00 2001 From: FLY <3159099311@qq.com> Date: Sat, 22 Oct 2022 08:14:44 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=AD=E8=A8=80=E9=80=89=E6=8B=A9=E3=80=81?= =?UTF-8?q?=E5=AD=97=E4=BD=93=E4=BF=AE=E6=94=B9=E3=80=81=E7=BB=9F=E8=AE=A1?= =?UTF-8?q?=E4=BE=BF=E7=AD=BE=E6=95=B0=E9=87=8F=E3=80=81=E7=BB=9F=E8=AE=A1?= =?UTF-8?q?=E5=AD=97=E7=AC=A6=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../net/micode/notes/ui/NoteEditActivity.java | 61 +++++++++++++++++++ src/main/res/layout/note_edit.xml | 12 +++- src/main/res/values-zh-rCN/strings.xml | 1 + src/main/res/values/strings.xml | 1 + 4 files changed, 74 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/micode/notes/ui/NoteEditActivity.java b/src/main/java/net/micode/notes/ui/NoteEditActivity.java index 9a6e656..3dd55ae 100644 --- a/src/main/java/net/micode/notes/ui/NoteEditActivity.java +++ b/src/main/java/net/micode/notes/ui/NoteEditActivity.java @@ -32,9 +32,11 @@ import android.graphics.Paint; import android.graphics.Typeface; import android.os.Bundle; import android.preference.PreferenceManager; +import android.text.Editable; import android.text.Spannable; import android.text.SpannableString; import android.text.TextUtils; +import android.text.TextWatcher; import android.text.format.DateUtils; import android.text.style.BackgroundColorSpan; import android.util.Log; @@ -87,6 +89,8 @@ public class NoteEditActivity extends Activity implements OnClickListener, public TextView tvAlertDate; public ImageView ibSetBgColor; + + public TextView text_num; } private static final Map sBgSelectorBtnsMap = new HashMap(); static { @@ -152,18 +156,74 @@ public class NoteEditActivity extends Activity implements OnClickListener, private String mUserQuery; private Pattern mPattern; + private EditText editText; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.setContentView(R.layout.note_edit); + if (savedInstanceState == null && !initActivityState(getIntent())) { + finish(); + return; + } + initResources(); + editText = (EditText) findViewById(R.id.note_edit_view); + this.setContentView(R.layout.note_edit); if (savedInstanceState == null && !initActivityState(getIntent())) { finish(); return; } initResources(); + count(); + } + private String Textchange(String oriText){ + StringBuffer stringBuffer = new StringBuffer(oriText); + int Flag1 = -1; + int Flag2 = -1; + do {//不计入表示图片的字符 + Flag1 = stringBuffer.indexOf(""); + if (Flag1 != -1 && Flag2 != -1) { + stringBuffer = stringBuffer.replace(Flag1, Flag2+1, ""); + } + } while (Flag1 != -1 && Flag2 != -1); + + do {//不计入换行字符 + Flag1 = stringBuffer.indexOf("\n"); + + if (Flag1 != -1){ + stringBuffer = stringBuffer.replace(Flag1, Flag1+1, ""); + } + } while (Flag1 != -1); + do {//不计入空格字符 + Flag1 = stringBuffer.indexOf(" "); + + if (Flag1 != -1) { + stringBuffer = stringBuffer.replace(Flag1, Flag1+1, ""); + } + } while (Flag1 != -1); + return stringBuffer.toString(); } + private void count() { + + mNoteEditor.addTextChangedListener(new TextWatcher() { + int currentLength = 0; + @Override + public void beforeTextChanged(CharSequence s, int start, int count, int after) { + mNoteHeaderHolder.text_num.setText("字符数:" + currentLength); + } + @Override + public void onTextChanged(CharSequence s, int start, int before, int count) { + currentLength = Textchange(mNoteEditor.getText().toString()).length(); + } + + @Override + public void afterTextChanged(Editable s) { + mNoteHeaderHolder.text_num.setText("字符数:" + currentLength); + } + }); + } /** * Current activity may be killed when the memory is low. Once it is killed, for another time * user load this activity, we should restore the former state @@ -370,6 +430,7 @@ public class NoteEditActivity extends Activity implements OnClickListener, mHeadViewPanel = findViewById(R.id.note_title); mNoteHeaderHolder = new HeadViewHolder(); mNoteHeaderHolder.tvModified = (TextView) findViewById(R.id.tv_modified_date); + mNoteHeaderHolder.text_num = (TextView) findViewById(R.id.text_num); mNoteHeaderHolder.ivAlertIcon = (ImageView) findViewById(R.id.iv_alert_icon); mNoteHeaderHolder.tvAlertDate = (TextView) findViewById(R.id.tv_alert_date); mNoteHeaderHolder.ibSetBgColor = (ImageView) findViewById(R.id.btn_set_bg_color); diff --git a/src/main/res/layout/note_edit.xml b/src/main/res/layout/note_edit.xml index dca097c..61e469f 100644 --- a/src/main/res/layout/note_edit.xml +++ b/src/main/res/layout/note_edit.xml @@ -31,6 +31,7 @@ android:layout_width="fill_parent" android:layout_height="wrap_content"> + + android:textAppearance="@style/TextAppearanceSecondaryItem" + /> + + + %1$s 条符合“%2$s”的搜索结果 + 字符数量 diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml index 0273d95..17a6b54 100644 --- a/src/main/res/values/strings.xml +++ b/src/main/res/values/strings.xml @@ -18,6 +18,7 @@ Notes + Length Notes 2x2 Notes 4x4 No associated note found, click to create associated note.