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

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

源代码1 项目: Pix-Art-Messenger   文件: ConversationFragment.java
public void appendText(String text, final boolean doNotAppend) {
    if (text == null) {
        return;
    }
    final Editable editable = this.binding.textinput.getText();
    String previous = editable == null ? "" : editable.toString();
    if (doNotAppend && !TextUtils.isEmpty(previous)) {
        ToastCompat.makeText(getActivity(), R.string.already_drafting_message, Toast.LENGTH_LONG).show();
        return;
    }
    if (UIHelper.isLastLineQuote(previous)) {
        text = '\n' + text;
    } else if (previous.length() != 0 && !Character.isWhitespace(previous.charAt(previous.length() - 1))) {
        text = " " + text;
    }
    this.binding.textinput.append(text);
}
 
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
    setBottomSheetState(subtitleDataValues[i].equals("custom"));

    if (!subtitleDataValueNow.equals(subtitleDataValues[i])) {
        if (subtitleDataValues[i].equals("custom")) {
            Editable editable = subtitleInputter.getText();
            if (editable != null) {
                subtitleDataValueNow = editable.toString();
            } else {
                subtitleDataValueNow = "";
            }
        } else {
            subtitleDataValueNow = subtitleDataValues[i];
        }
        updateHostView();
    }
}
 
源代码3 项目: Sparkplug   文件: PublishFragment.java
private void handleAnalog(Editable s, String metricName) {
    synchronized (connection.getSeqLock()) {
        String analog = s.toString();
        if (analog == null || analog.trim().isEmpty()) {
            return;
        }

        try {
            if ((double) connection.getSparkplugMetrics().get(metricName).getValue() != Double.parseDouble(s.toString())) {
                Log.d(TAG, "Handling analog: " + analog);
                Metric metric = new Metric.MetricBuilder(metricName, MetricDataType.Double, Double.parseDouble(analog)).createMetric();
                queuedMetrics.put(metricName, metric);
                ioSubmitButton.getBackground().setColorFilter(Color.RED, PorterDuff.Mode.MULTIPLY);
            }
        } catch (Exception e) {
            Log.d(TAG, "Failed to publish ", e);
        }
    }
}
 
源代码4 项目: android-chromium   文件: AdapterInputConnection.java
/**
 * @see BaseInputConnection#getExtractedText(android.view.inputmethod.ExtractedTextRequest,
 *                                           int)
 */
@Override
public ExtractedText getExtractedText(ExtractedTextRequest request, int flags) {
    if (DEBUG) Log.w(TAG, "getExtractedText");
    ExtractedText et = new ExtractedText();
    Editable editable = getEditable();
    et.text = editable.toString();
    et.partialEndOffset = editable.length();
    et.selectionStart = Selection.getSelectionStart(editable);
    et.selectionEnd = Selection.getSelectionEnd(editable);
    et.flags = mSingleLine ? ExtractedText.FLAG_SINGLE_LINE : 0;
    return et;
}
 
源代码5 项目: Dashchan   文件: CommentEditor.java
@Override
public FormatResult formatSelectedText(Editable editable, int what, int start, int end) {
	if (what == ChanMarkup.TAG_STRIKE && super.getTag(what, false) == null) {
		String text = editable.toString();
		String textAfterSelection = text.substring(end, text.length());
		Matcher matcher = MULTIPLE_STRIKES.matcher(textAfterSelection);
		if (matcher.find()) {
			String strikes = matcher.group(1);
			editable.replace(end, end + strikes.length(), "");
			return new FormatResult(start, end);
		} else {
			StringBuilder builder = new StringBuilder();
			int count = end - start;
			if (count > 0) {
				for (int i = 0; i < count; i++) {
					builder.append("^H");
				}
				editable.insert(end, builder.toString());
				return new FormatResult(start, end);
			} else {
				editable.insert(end, "^H");
				return new FormatResult(end + 2, end + 2);
			}
		}
	} else {
		return super.formatSelectedText(editable, what, start, end);
	}
}
 
源代码6 项目: LaunchEnr   文件: AllAppsSearchBarController.java
@Override
public void afterTextChanged(final Editable s) {
    mQuery = s.toString();
    if (mQuery.isEmpty()) {
        mSearchAlgorithm.cancel(true);
        mCb.clearSearchResult();
    } else {
        mSearchAlgorithm.cancel(false);
        mSearchAlgorithm.doSearch(mQuery, mCb);
    }
}
 
源代码7 项目: SlyceMessaging   文件: ViewUtils.java
public static String getStringFromEditText(EditText editText) {
    String string = null;

    if (editText != null) {
        Editable editable = editText.getText();
        if ((!TextUtils.isEmpty(editable))) {
            string = editable.toString();
        }
    }

    return string;
}
 
@Override
public void afterTextChanged(Editable s) {

    check = s.toString();

    if (check.length() < 4 || check.length() > 40) {
        edtemail.setError("Email Must consist of 4 to 20 characters");
    } else if (!check.matches("^[[email protected]]+")) {
        edtemail.setError("Only . and @ characters allowed");
    } else if (!check.contains("@") || !check.contains(".")) {
        edtemail.setError("Enter Valid Email");
    }

}
 
源代码9 项目: v9porn   文件: IpInputEditText.java
private void pressTextChange(Editable s, AppCompatEditText currenAppCompatEditText, AppCompatEditText preFouceAppCompatEditText, AppCompatEditText nextFouceAppCompatEditText) {
    String text = s.toString();

    //回退上一个
    if (TextUtils.isEmpty(s)) {
        focusEditViewAndMoveSelection(preFouceAppCompatEditText);
        return;
    }

    if (!text.startsWith(ZERO_WIDTH_SPACE)) {
        text = text.replace(ZERO_WIDTH_SPACE, "");
        text = ZERO_WIDTH_SPACE + text;
        currenAppCompatEditText.setText(text);
        moveSelectionToLast(currenAppCompatEditText);
    }
    //输入未达到最大,但包含点,则说明当前输入完成
    if (text.contains(POINT_STR)) {
        //替换掉点,重新设置文本
        text = text.replace(POINT_STR, "");
        currenAppCompatEditText.setText(text);
        if (!TextUtils.isEmpty(text.replace(ZERO_WIDTH_SPACE, ""))) {
            //聚焦到下一个控件
            focusEditViewAndMoveSelection(nextFouceAppCompatEditText);
        }


        //达到最大,输入完成
    } else if (text.length() >= SUB_MAX_LENGTH) {
        int subIp = Integer.parseInt(text.replace(ZERO_WIDTH_SPACE, ""));
        //检查ip断合法性
        if (subIp >= MAX_IP_NUM) {
            //清空重新输入
            currenAppCompatEditText.setText(ZERO_WIDTH_SPACE);
        } else {
            //验证通过,聚焦到下一个控件
            focusEditViewAndMoveSelection(nextFouceAppCompatEditText);
        }
    }
}
 
源代码10 项目: document-viewer   文件: ViewerActivityController.java
@ActionMethod(ids = R.id.actions_addBookmark)
public void addBookmark(final ActionEx action) {
    final Editable value = action.getParameter("input");
    final String name = value.toString();
    final Page page = documentModel.getCurrentPageObject();
    if (page != null) {
        final ViewState state = ViewState.get(getDocumentController());
        final PointF pos = state.getPositionOnPage(page);
        bookSettings.bookmarks.add(new Bookmark(name, documentModel.getCurrentIndex(), pos.x, pos.y));
        Collections.sort(bookSettings.bookmarks);
        SettingsManager.storeBookSettings(bookSettings);
        UIManagerAppCompat.invalidateOptionsMenu(getManagedComponent());
        state.release();
    }
}
 
源代码11 项目: TikTok   文件: MentionEditText.java
private void colorMentionString() {
    //reset state
    mIsSelected = false;
    if (mRangeArrayList != null) {
        mRangeArrayList.clear();
    }

    Editable spannableText = getText();
    if (spannableText == null || TextUtils.isEmpty(spannableText.toString())) {
        return;
    }

    //remove previous spans
    ForegroundColorSpan[] oldSpans = spannableText.getSpans(0, spannableText.length(), ForegroundColorSpan.class);
    for (ForegroundColorSpan oldSpan : oldSpans) {
        spannableText.removeSpan(oldSpan);
    }

    //find mention string and color it
    int lastMentionIndex = -1;
    String text = spannableText.toString();
    Matcher matcher = mPattern.matcher(text);
    while (matcher.find()) {
        String mentionText = matcher.group();
        int start;
        if (lastMentionIndex != -1) {
            start = text.indexOf(mentionText, lastMentionIndex);
        } else {
            start = text.indexOf(mentionText);
        }
        int end = start + mentionText.length();
        spannableText.setSpan(new ForegroundColorSpan(mMentionTextColor), start, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        lastMentionIndex = end;
        //record all mention-string's position
        mRangeArrayList.add(new Range(start, end+1));//+1 because \t
    }
}
 
源代码12 项目: EditSpinner   文件: EditSpinner.java
@Override
public final void afterTextChanged(Editable s) {
    String key = s.toString();
    editText.setSelection(key.length());
    if (!TextUtils.isEmpty(key)) {
        showFilterData(key);
    } else {
        popupWindow.dismiss();
    }
}
 
源代码13 项目: YiBo   文件: GroupMemberSelectorTextWatcher.java
@Override
public void afterTextChanged(Editable s) {
       String filterName = s.toString();
       if (StringUtil.isEmpty(filterName)) {
       	filterName = " ";
       }

       listAdapter.getFilter().filter(filterName);
       listAdapter.notifyDataSetChanged();
}
 
源代码14 项目: JotaTextEditor   文件: Main.java
public void run() {
    Intent intent = new Intent(Intent.ACTION_SEND);
    intent.setType("text/plain");

    int startsel = mEditor.getSelectionStart();
    int endsel = mEditor.getSelectionEnd();
    Editable text = mEditor.getText();

    String substr = null;
    if (startsel != endsel) {
        if (endsel < startsel) {
            int temp = startsel;
            startsel = endsel;
            endsel = temp;
        }
        if (endsel - startsel > jp.sblo.pandora.jota.text.TextView.MAX_PARCELABLE) {
            Toast.makeText(Main.this, R.string.toast_overflow_of_limit, Toast.LENGTH_LONG)
                    .show();
            return;
        }
        substr = text.subSequence(startsel, endsel).toString();
    }
    if (substr == null) {
        if (text.length() <= jp.sblo.pandora.jota.text.TextView.MAX_PARCELABLE) {
            substr = text.toString();
        }
    }
    if (substr != null) {
        intent.putExtra(Intent.EXTRA_TEXT, substr);

        try {
            startActivity(intent);
        } catch (ActivityNotFoundException e) {
        }
    }
}
 
源代码15 项目: PowerFileExplorer   文件: ProcessFragment.java
public void afterTextChanged(final Editable text) {
	final String filesearch = text.toString();
	Log.d("quicksearch", "filesearch " + filesearch);
	if (filesearch.length() > 0) {
		if (searchTask != null
			&& searchTask.getStatus() == AsyncTask.Status.RUNNING) {
			searchTask.cancel(true);
		}
		searchTask = new SearchFileNameTask();
		searchTask.execute(filesearch);
	}
}
 
源代码16 项目: mongol-library   文件: MetInputConnection.java
@Override
public ExtractedText getExtractedText(ExtractedTextRequest request, int flags) {
    if (request == null)
        return null;

    Editable editable = getEditable();
    if (editable == null) {
        return null;
    }
    int selStart = Selection.getSelectionStart(editable);
    int selEnd = Selection.getSelectionEnd(editable);

    ExtractedText extract = new ExtractedText();
    extract.flags = 0;
    extract.partialStartOffset = -1;
    extract.partialEndOffset = -1;
    extract.selectionStart = selStart;
    extract.selectionEnd = selEnd;
    extract.startOffset = 0;
    if ((request.flags & GET_TEXT_WITH_STYLES) != 0) {
        extract.text = new SpannableString(editable);
    } else {
        extract.text = editable.toString();
    }
    mMongolEditText.setExtractedTextToken(request.token);
    return extract;
}
 
源代码17 项目: syncthing-android   文件: DeviceActivity.java
@Override
public void afterTextChanged(Editable s) {
    if (!s.toString().equals(mDevice.name)) {
        mDeviceNeedsToUpdate = true;
        mDevice.name = s.toString();
    }
}
 
源代码18 项目: a   文件: TxtChapterRuleDialog.java
private String getEditableText(Editable editable) {
    if (editable == null) {
        return "";
    }
    return editable.toString();
}
 
源代码19 项目: Spyglass   文件: MentionsEditText.java
/**
 * Ensures that the text within each {@link MentionSpan} in the {@link Editable} correctly
 * matches what it should be outputting. If not, replace it with the correct value.
 *
 * @param text the {@link Editable} to examine
 */
private void ensureMentionSpanIntegrity(Editable text) {
    if (text == null) {
        return;
    }

    MentionSpan[] spans = text.getSpans(0, text.length(), MentionSpan.class);
    boolean spanAltered = false;
    for (MentionSpan span : spans) {
        int start = text.getSpanStart(span);
        int end = text.getSpanEnd(span);
        CharSequence spanText = text.subSequence(start, end).toString();
        Mentionable.MentionDisplayMode displayMode = span.getDisplayMode();

        switch (displayMode) {

            case PARTIAL:
            case FULL:
                String name = span.getDisplayString();
                if (!name.contentEquals(spanText) && start >= 0 && start < end && end <= text.length()) {
                    // Mention display name does not match what is being shown,
                    // replace text in span with proper display name
                    int cursor = getSelectionStart();
                    int diff = cursor - end;
                    text.removeSpan(span);
                    text.replace(start, end, name);
                    if (diff > 0 && start + end + diff < text.length()) {
                        text.replace(start + end, start + end + diff, "");
                    }
                    if (name.length() > 0) {
                        text.setSpan(span, start, start + name.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
                    }
                    // Notify for partially deleted mentions.
                    if (mMentionWatchers.size() > 0 && displayMode == Mentionable.MentionDisplayMode.PARTIAL) {
                        notifyMentionPartiallyDeletedWatchers(span.getMention(), name, start, end);
                    }
                    spanAltered = true;
                }
                break;

            case NONE:
            default:
                // Mention with DisplayMode == NONE should be deleted from the text
                boolean hasListeners = mMentionWatchers.size() > 0;
                final String textBeforeDelete = hasListeners ? text.toString() : null;
                text.delete(start, end);
                setSelection(start);
                if (hasListeners) {
                    notifyMentionDeletedWatchers(span.getMention(), textBeforeDelete, start, end);
                }
                spanAltered = true;
                break;
        }
    }

    // Reset input method if spans have been changed (updates suggestions)
    if (spanAltered) {
        restartInput();
    }
}
 
@Nullable
private static String getStringFromEditText(EditText editText)
{
    Editable editable = editText.getText();
    return editable == null ? null : editable.toString();
}