mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-08-17 21:01:34 +08:00
fix android keyboard
This commit is contained in:
@ -71,10 +71,9 @@ function initializeEditTextListeners(): void {
|
||||
}
|
||||
|
||||
if (hasFocus) {
|
||||
owner.clearDismissTimer();
|
||||
owner.notify({ eventName: EditableTextBase.focusEvent, object: owner });
|
||||
owner.focus();
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
if (owner._dirtyTextAccumulator || owner._dirtyTextAccumulator === "") {
|
||||
textProperty.nativeValueChange(owner, owner._dirtyTextAccumulator);
|
||||
owner._dirtyTextAccumulator = undefined;
|
||||
@ -130,6 +129,7 @@ export abstract class EditableTextBase extends EditableTextBaseCommon {
|
||||
private _inputType: number;
|
||||
|
||||
public _changeFromCode: boolean;
|
||||
public _dismissId: NodeJS.Timer;
|
||||
|
||||
public abstract _configureEditText(editText: android.widget.EditText): void;
|
||||
|
||||
@ -175,7 +175,9 @@ export abstract class EditableTextBase extends EditableTextBaseCommon {
|
||||
}
|
||||
|
||||
const activity = this._context as android.app.Activity;
|
||||
setTimeout(() => {
|
||||
if (!this._dismissId) {
|
||||
this._dismissId = setTimeout(() => {
|
||||
this._dismissId = null;
|
||||
const focused = activity.getCurrentFocus();
|
||||
if (!focused
|
||||
|| focused === nativeView
|
||||
@ -184,8 +186,17 @@ export abstract class EditableTextBase extends EditableTextBaseCommon {
|
||||
}
|
||||
}, 100);
|
||||
}
|
||||
}
|
||||
|
||||
public clearDismissTimer(): void {
|
||||
if (this._dismissId) {
|
||||
clearTimeout(this._dismissId);
|
||||
this._dismissId = null;
|
||||
}
|
||||
}
|
||||
|
||||
public focus(): boolean {
|
||||
this.clearDismissTimer();
|
||||
const result = super.focus();
|
||||
if (result) {
|
||||
ad.showSoftInput(this.nativeViewProtected);
|
||||
|
Reference in New Issue
Block a user