下面列出了android.view.inputmethod.ExtractedText#FLAG_SINGLE_LINE 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
private ExtractedText convertToExtractedText(TextInputState textInputState) {
if (textInputState == null) return null;
ExtractedText extractedText = new ExtractedText();
extractedText.text = textInputState.text();
extractedText.partialEndOffset = textInputState.text().length();
// Set the partial start offset to -1 because the content is the full text.
// See: Android documentation for ExtractedText#partialStartOffset
extractedText.partialStartOffset = -1;
extractedText.selectionStart = textInputState.selection().start();
extractedText.selectionEnd = textInputState.selection().end();
extractedText.flags = textInputState.singleLine() ? ExtractedText.FLAG_SINGLE_LINE : 0;
return extractedText;
}
boolean extractTextInternal(ExtractedTextRequest request, ExtractedText outText) {
Component txtCmp = Display.getInstance().getCurrent().getFocused();
if (txtCmp != null && txtCmp instanceof TextField) {
String txt = ((TextField) txtCmp).getText();
int partialStartOffset = -1;
int partialEndOffset = -1;
final CharSequence content = txt;
if (content != null) {
final int N = content.length();
outText.partialStartOffset = outText.partialEndOffset = -1;
partialStartOffset = 0;
partialEndOffset = N;
if ((request.flags & InputConnection.GET_TEXT_WITH_STYLES) != 0) {
outText.text = content.subSequence(partialStartOffset,
partialEndOffset);
} else {
outText.text = TextUtils.substring(content, partialStartOffset,
partialEndOffset);
}
outText.flags = 0;
outText.flags |= ExtractedText.FLAG_SINGLE_LINE;
outText.startOffset = 0;
outText.selectionStart = Selection.getSelectionStart(content);
outText.selectionEnd = Selection.getSelectionEnd(content);
return true;
}
}
return false;
}
/**
* @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;
}
/**
* @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;
}