Javascript 如何在Tianium中从选项对话框单击事件隐藏android软键盘?

Javascript 如何在Tianium中从选项对话框单击事件隐藏android软键盘?,javascript,android,titanium,titanium-mobile,appcelerator,Javascript,Android,Titanium,Titanium Mobile,Appcelerator,您好,我在Tianium mobile中有此代码: function showNetworkEditDialog(/*String*/ type, /*String*/ url, /*Row*/ selectedRow){ var optionDialog = Ti.UI.createOptionDialog({ title:'Type : ' + type, buttonNames:['Cancel', 'Ok']

您好,我在Tianium mobile中有此代码:

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();
    }
该代码显示了一个选项对话框,其中包含textfield。。我只想在按下选项对话框上的OK或CANCEL按钮时隐藏android软键盘

当我在optionDialog中按下OK或Cancel按钮时,有人知道如何隐藏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());
    }
});

希望它能帮助你

你好,安南..谢谢你的回答。。我尝试过使用txtUrl.blur(),但它对我不起作用。。还有别的想法吗?谢谢:D@MichaelFrans:那是有线的。这应该是工作,因为我已经使用它在我的应用程序多次!!!嗨,阿南德。。是的。。你说得对。。真奇怪。。我创建了一个小应用程序来测试它,它可以工作,但在我的主应用程序中不起作用。。仅供参考。当我点击tableView,我的tableView在视图中时,该函数被调用。。这会影响吗?谢谢,不会的。我猜在该窗口或上一个窗口中,除了txtURL之外,还有其他文本字段。如果是这样,你应该在打开窗口或对话框时模糊窗口中的所有文本字段。我会在周一尝试你的建议,因为我从周一工作到周五,我会告诉你结果。。谢谢你帮助我。。在我尝试模糊窗口上的所有文本字段后,我会尽快告诉你。。再次感谢你。。