android.text.Editable#clear ( )源码实例Demo

下面列出了android.text.Editable#clear ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: android_9.0.0_r45   文件: DialerFilter.java
/**
 * Clears both the digits and the filter text.
 */
public void clearText() {
    Editable text;

    text = mLetters.getText();
    text.clear();

    text = mDigits.getText();
    text.clear();

    // Reset the mode based on the hardware type
    if (mIsQwerty) {
        setMode(DIGITS_AND_LETTERS);
    } else {
        setMode(DIGITS_ONLY);
    }
}
 
源代码2 项目: cwac-saferoom   文件: SafeHelperFactory.java
/**
 * Creates a SafeHelperFactory from an Editable, such as what you get by
 * calling getText() on an EditText.
 *
 * The Editable will be cleared as part of this call.
 *
 * @param editor the user's supplied passphrase
 * @param options options for pre-key, post-key SQL
 * @return a SafeHelperFactory
 */
public static SafeHelperFactory fromUser(Editable editor, Options options) {
  char[] passphrase=new char[editor.length()];
  SafeHelperFactory result;

  editor.getChars(0, editor.length(), passphrase, 0);

  try {
    result=new SafeHelperFactory(passphrase, options);
  }
  finally {
    editor.clear();
  }

  return(result);
}
 
源代码3 项目: Autocomplete   文件: MainActivity.java
private void setupUserAutocomplete() {
    EditText edit = findViewById(R.id.single);
    float elevation = 6f;
    Drawable backgroundDrawable = new ColorDrawable(Color.WHITE);
    AutocompletePresenter<User> presenter = new UserPresenter(this);
    AutocompleteCallback<User> callback = new AutocompleteCallback<User>() {
        @Override
        public boolean onPopupItemClicked(@NonNull Editable editable, @NonNull User item) {
            editable.clear();
            editable.append(item.getFullname());
            return true;
        }

        public void onPopupVisibilityChanged(boolean shown) {}
    };

    userAutocomplete = Autocomplete.<User>on(edit)
            .with(elevation)
            .with(backgroundDrawable)
            .with(presenter)
            .with(callback)
            .build();
}
 
源代码4 项目: Conversations   文件: EnterPhoneNumberActivity.java
private void onNextClick(View v) {
    final AlertDialog.Builder builder = new AlertDialog.Builder(this);
    try {
        final Editable number = this.binding.number.getText();
        final String input = number.toString();
        final Phonenumber.PhoneNumber phoneNumber = PhoneNumberUtilWrapper.getInstance(this).parse(input, region);
        this.binding.countryCode.setText(String.valueOf(phoneNumber.getCountryCode()));
        number.clear();
        number.append(String.valueOf(phoneNumber.getNationalNumber()));
        final String formattedPhoneNumber = PhoneNumberUtilWrapper.getInstance(this).format(phoneNumber, PhoneNumberUtil.PhoneNumberFormat.INTERNATIONAL).replace(' ','\u202F');

        if (PhoneNumberUtilWrapper.getInstance(this).isValidNumber(phoneNumber)) {
            builder.setMessage(Html.fromHtml(getString(R.string.we_will_be_verifying, formattedPhoneNumber)));
            builder.setNegativeButton(R.string.edit, null);
            builder.setPositiveButton(R.string.ok, (dialog, which) -> onPhoneNumberEntered(phoneNumber));
        } else {
            builder.setMessage(getString(R.string.not_a_valid_phone_number, formattedPhoneNumber));
            builder.setPositiveButton(R.string.ok, null);
        }
        Log.d(Config.LOGTAG, phoneNumber.toString());
    } catch (NumberParseException e) {
        builder.setMessage(R.string.please_enter_your_phone_number);
        builder.setPositiveButton(R.string.ok, null);
    }
    builder.create().show();
}
 
源代码5 项目: android_9.0.0_r45   文件: BaseInputConnection.java
private void sendCurrentText() {
    if (!mDummyMode) {
        return;
    }

    Editable content = getEditable();
    if (content != null) {
        final int N = content.length();
        if (N == 0) {
            return;
        }
        if (N == 1) {
            // If it's 1 character, we have a chance of being
            // able to generate normal key events...
            if (mKeyCharacterMap == null) {
                mKeyCharacterMap = KeyCharacterMap.load(KeyCharacterMap.VIRTUAL_KEYBOARD);
            }
            char[] chars = new char[1];
            content.getChars(0, 1, chars, 0);
            KeyEvent[] events = mKeyCharacterMap.getEvents(chars);
            if (events != null) {
                for (int i=0; i<events.length; i++) {
                    if (DEBUG) Log.v(TAG, "Sending: " + events[i]);
                    sendKeyEvent(events[i]);
                }
                content.clear();
                return;
            }
        }

        // Otherwise, revert to the special key event containing
        // the actual characters.
        KeyEvent event = new KeyEvent(SystemClock.uptimeMillis(),
                content.toString(), KeyCharacterMap.VIRTUAL_KEYBOARD, 0);
        sendKeyEvent(event);
        content.clear();
    }
}
 
源代码6 项目: android_9.0.0_r45   文件: TextKeyListener.java
/**
 * Clear all the input state (autotext, autocap, multitap, undo)
 * from the specified Editable, going beyond Editable.clear(), which
 * just clears the text but not the input state.
 *
 * @param e the buffer whose text and state are to be cleared.
 */
public static void clear(Editable e) {
    e.clear();
    e.removeSpan(ACTIVE);
    e.removeSpan(CAPPED);
    e.removeSpan(INHIBIT_REPLACEMENT);
    e.removeSpan(LAST_TYPED);

    QwertyKeyListener.Replaced[] repl = e.getSpans(0, e.length(),
                               QwertyKeyListener.Replaced.class);
    final int count = repl.length;
    for (int i = 0; i < count; i++) {
        e.removeSpan(repl[i]);
    }
}
 
源代码7 项目: cwac-saferoom   文件: Database.java
/**
 * Changes the passphrase associated with this database. The supplied
 * Editable is cleared as part of this operation.
 *
 * @param editor source of passphrase, presumably from a user
 */
public void rekey(Editable editor) {
  char[] passphrase=new char[editor.length()];

  editor.getChars(0, editor.length(), passphrase, 0);

  try {
    rekey(passphrase);
  }
  finally {
    editor.clear();
  }
}
 
源代码8 项目: edslite   文件: EditSB.java
@Override
public void setText(CharSequence text, BufferType type)
{
    Editable et = getEditableText();
    if(et != null)
        et.clear();
    super.setText(text, type);
}
 
源代码9 项目: Autocomplete   文件: MainActivity.java
private void setupMaleFemaleAutocomplete() {
    EditText edit = findViewById(R.id.topbar);
    float elevation = 6f;
    Drawable backgroundDrawable = new ColorDrawable(Color.WHITE);
    AutocompletePresenter<User> presenter = new MaleFemalePresenter(this);
    AutocompleteCallback<User> callback = new AutocompleteCallback<User>() {
        @Override
        public boolean onPopupItemClicked(@NonNull Editable editable, @NonNull User item) {
            editable.clear();
            editable.append(item.getFullname())
                    .append(" ")
                    .append(item.isFemale() ? "(Female)" : "(Male)");
            editable.setSpan(new StyleSpan(Typeface.BOLD), 0, item.getFullname().length(),
                    Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
            return true;
        }

        public void onPopupVisibilityChanged(boolean shown) {}
    };

    maleFemaleAutocomplete = Autocomplete.<User>on(edit)
            .with(elevation)
            .with(backgroundDrawable)
            .with(presenter)
            .with(callback)
            .build();
}
 
源代码10 项目: FormatEditText   文件: FormattedEditText.java
private void clearTextInTouch(MotionEvent event) {
    event.setAction(MotionEvent.ACTION_CANCEL);
    Editable editable = getText();
    if (editable != null) {
        editable.clear();
    }
}
 
public void setColoredAdContent(TextView contentText, final ForumAdJson forumAd) {
    String subject = StringUtils.get(forumAd.getContent());
    Editable editable = contentText.getEditableText();
    if (editable != null) {
        editable.clear();
        editable.clearSpans();
    }
    final String recomName = forumAd.getRecomName();
    SpannableStringBuilder ssb = new SpannableStringBuilder(subject + recomName);
    Drawable bg = context.getResources().getDrawable(R.drawable.bg_recom);
    ImageSpan imageSpan = new ImageSpan(bg) {
        @Override
        public void draw(Canvas canvas, CharSequence text, int start, int end, float x, int top, int y,
                         int bottom, Paint paint) {
            paint.setTypeface(Typeface.DEFAULT);
            int textSize = DensityUtils.dip2px(context, 12);
            paint.setTextSize(textSize);
            Rect bounds = new Rect();
            paint.getTextBounds(text.toString(), start, end, bounds);
            getDrawable().setBounds(0, 0, bounds.width() + 10, bottom - top);
            super.draw(canvas, text, start, end, x, top, y, bottom, paint);
            paint.setColor(Color.TRANSPARENT);
            canvas.drawText(text.subSequence(start, end).toString(), x + 5, y, paint);
        }
    };
    ssb.setSpan(imageSpan, subject.length(), subject.length() + recomName.length(), Spannable.SPAN_INCLUSIVE_INCLUSIVE);
    contentText.setText(ssb);

}
 
源代码12 项目: android-material-chips   文件: ChipsView.java
@Override
public void afterTextChanged(Editable s) {
    if (mIsPasteTextChange) {
        mIsPasteTextChange = false;
        // todo handle copy/paste text here

    } else {
        // no paste text change
        if (s.toString().contains("\n")) {
            String text = s.toString();
            text = text.replace("\n", "");
            while (text.contains("  ")) {
                text = text.replace("  ", " ");
            }
            if (text.length() > 1) {
                s.clear();
                if (!onEnterPressed(text)) {
                    s.append(text);
                }
            } else {
                s.clear();
                s.append(text);
            }
        }
    }
    if (mChipsListener != null) {
        mChipsListener.onTextChanged(s);
    }
}
 
源代码13 项目: SublimePicker   文件: RecurrenceOptionCreator.java
@Override
public void afterTextChanged(Editable s) {

    boolean updated = false;
    int value;
    try {
        value = Integer.parseInt(s.toString());
    } catch (NumberFormatException e) {
        value = mDefault;
    }

    if (value < mMin) {
        value = mMin;
        updated = true;
    } else if (value > mMax) {
        updated = true;
        value = mMax;
    }

    // Update UI
    if (updated) {
        s.clear();
        s.append(Integer.toString(value));
    }

    updateDoneButtonState();
    onChange(value);
}
 
源代码14 项目: kripton   文件: Database.java
/**
 * Changes the passphrase associated with this database. The supplied
 * Editable is cleared as part of this operation.
 *
 * @param editor
 *            source of passphrase, presumably from a user
 */
public void rekey(Editable editor) {
	char[] passphrase = new char[editor.length()];

	editor.getChars(0, editor.length(), passphrase, 0);

	try {
		rekey(passphrase);
	} finally {
		editor.clear();
	}
}
 
源代码15 项目: SuntimesWidget   文件: ColorChooser.java
@Override
public void afterTextChanged(Editable editable)
{
    if (isRunning || isRemoving)
        return;
    isRunning = true;

    String text = editable.toString();             // should consist of [#][0-9][a-f]
    for (int j=text.length()-1; j>=0; j--)
    {
        if (!inputSet.contains(text.charAt(j)))
        {
            editable.delete(j, j+1);
        }
    }

    text = editable.toString();                   // should start with a #
    int i = text.indexOf('#');
    if (i != -1)
    {
        editable.delete(i, i + 1);
    }
    editable.insert(0, "#");

    if (editable.length() > 8)                   // should be no longer than 8
    {
        editable.delete(9, editable.length());
    }

    text = editable.toString();
    String toCaps = text.toUpperCase(Locale.US);
    editable.clear();
    editable.append(toCaps);

    isRunning = false;
}
 
源代码16 项目: Conversations   文件: PinEntryWrapper.java
public void setPin(String pin) {
    char[] chars = pin.toCharArray();
    for (int i = 0; i < digits.size(); ++i) {
        if (i < chars.length) {
            final Editable editable = digits.get(i).getText();
            editable.clear();
            editable.append(Character.isDigit(chars[i]) ? String.valueOf(chars[i]) : "");
        }
    }
}
 
源代码17 项目: bither-android   文件: MarketListHeader.java
@Override
public void afterTextChanged(final Editable s) {
    // workaround for German keyboards
    final String original = s.toString();
    final String replaced = original.replace(',', '.');
    if (!replaced.equals(original)) {
        s.clear();
        s.append(replaced);
    }
    if (s.length() > 0) {
        WalletUtils.formatSignificant(s, true ? WalletUtils.SMALLER_SPAN : null);
    }
}
 
源代码18 项目: bither-android   文件: CurrencyAmountView.java
@Override
public void afterTextChanged(final Editable s) {
    // workaround for German keyboards
    final String original = s.toString();
    final String replaced = original.replace(',', '.');
    if (!replaced.equals(original)) {
        s.clear();
        s.append(replaced);
    }

    WalletUtils.formatSignificant(s, smallerInsignificant ? WalletUtils.SMALLER_SPAN :
            null);
}
 
源代码19 项目: TwistyTimer   文件: SolveTimeNumberTextWatcher.java
@Override
public void afterTextChanged(Editable s) {
    if (isFormatting)
        return;

    isFormatting = true;

    // Since the keyboard input type is "number", we can't punctuation with the actual
    // filters, so we clear them and restore once we finish formatting
    InputFilter[] filters = s.getFilters(); // save filters
    s.setFilters(new InputFilter[] {});     // clear filters


    // Clear all formatting from editable
    // Regex matches the characters ':', '.', 'h' and a leading zero, if present
    mUnformatted = s.toString().replaceAll("^0+|[h]|:|\\.", "");
    mLen = mUnformatted.length();

    s.clear();
    s.insert(0, mUnformatted);


    if (mLen <= 2 && mLen > 0) { // 12 -> 0.12
        s.insert(0, "0.");
    } else if (mLen == 3) { // 123 -> 1.23
        s.insert(1, ".");
    } else if (mLen == 4) { // 1234 -> 12.34
        s.insert(2, ".");
    } else if (mLen == 5) { // 12345 -> 1:23.45
        s.insert(1, ":");
        s.insert(4, ".");
    } else if (mLen == 6) { // 123456 -> 12:34.56
        s.insert(2, ":");
        s.insert(5, ".");
    } else if (mLen == 7) { // 1234567 -> 1:23:45.67
        s.insert(1, "h");
        s.insert(4, ":");
        s.insert(7, ".");
    } else if (mLen == 8) { // 12345678 -> 12:34:56.78
        s.insert(2, "h");
        s.insert(5, ":");
        s.insert(8, ".");
    }

    isFormatting = false;

    // Restore filters
    s.setFilters(filters);
}
 
源代码20 项目: BluetoothHidEmu   文件: KeyboardTextWatcher.java
@Override
public void handleMessage(Message msg) {
    
    switch (msg.what) {
    case MSG_START_COUNT:
        
        Editable content = (Editable) msg.obj;
        content.clear();
        
        break;
        
    }
    
}