如何从钛中的选项对话框单击事件中隐藏Android软键盘

How to hide android soft keyboard from option dialog click event in titanium?

本文关键字:隐藏 事件 Android 键盘 单击 选项 对话框      更新时间:2023-09-26

嗨,我在钛手机中有以下代码:

function showNetworkEditDialog(/*String*/ type, /*String*/ url, /*Row*/ selectedRow){
        var optionDialog = Ti.UI.createOptionDialog({
            title:'Type : ' + type,
            buttonNames:['Cancel', 'Ok']
        });
        var dialogView = Ti.UI.createView(_styles.get('view.dialog'));
        var lblURL = Ti.UI.createLabel(_globals.get('combine')(_styles.get('label.filter.normal'), {
            text:'URL:',
            left:'4dp'
        }));
        var txtURL = Titanium.UI.createTextField(_globals.get('combine')(_styles.get('textField'), {
            width:'100%',
            height:'40dp',
            value:url
        }));
        dialogView.add(lblURL);
        dialogView.add(txtURL);
        optionDialog.setAndroidView(dialogView);
        txtURL.addEventListener('focus',function(e){
            if (txtURL.getValue().toString() !== ''){
                txtURL.setSelection(txtURL.getValue().length,txtURL.getValue().length);
            }
        });
        optionDialog.addEventListener('click',function(e){
            Ti.UI.Android.hideSoftKeyboard(); // It's not works for me
            if (e.index === 1){ /* Ok Pressed */
                selectedRow._isEdited = true;
                selectedRow._url = txtURL.value.trim();
                selectedRow.children[1].setText(txtURL.value.trim());
            }
        });
        optionDialog.show();
    }

代码显示一个带有文本字段的选项对话框..我想要的只是在按该选项对话框上的确定或取消按钮时隐藏android软键盘。

有谁知道如何隐藏android键盘,当我按下按钮确定或从选项对话框中取消? 我试过使用Ti.UI.Android.hideSoftKeyboard()也使用txtUrl.blur()但它对我不起作用。之前谢谢..

您可以使用模糊

方法来隐藏软键盘。

尝试按如下方式更改代码

optionDialog.addEventListener('click',function(e){
    txtURL.blur(); // Hides the softkeyboard
    if (e.index === 1){ /* Ok Pressed */
          selectedRow._isEdited = true;
          selectedRow._url = txtURL.value.trim();
          selectedRow.children[1].setText(txtURL.value.trim());
    }
});

希望对您有所帮助