嗨我在钛金属手机上有这个代码:
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取消时,有没有人知道如何隐藏Android键盘?我已尝试使用Ti.UI.Android.hideSoftKeyboard()
并使用txtUrl.blur()
但它对我不起作用..
谢谢你......
答案 0 :(得分:0)
您可以使用blur method隐藏软键盘。
尝试按以下方式更改代码
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());
}
});
希望它能帮到你