我有一个alertdialog与editext.对于这个Edittext我使键盘出现,当用户按ok或取消隐藏键盘时,我想要.奇怪的问题是当用户选择OK时,键盘是隐藏的,但是当选择取消时,键盘不会隐藏我在两种情况下使用相同的代码.
这是我的代码:
final AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.setTitle(data);
final EditText input = new EditText(this);
InputFilter[] FilterArray = new InputFilter[1];
FilterArray[0] = new InputFilter.LengthFilter(25);
input.setFilters(FilterArray);
input.postDelayed(new Runnable() {
@Override
public void run() {
InputMethodManager keyboard = (InputMethodManager)
getSystemService(Context.INPUT_METHOD_SERVICE);
keyboard.showSoftInput(input,0);
}
},200);
alert.setView(input);
alert.setPositiveButton(ok,new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,int whichButton) {
text = input.getText().toString().trim();
Canvas c = new Canvas(bitmapResult);
drawTextImage(bitmapResult);
saveimage();
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(input.getWindowToken(),0);
}
});
alert.setNegativeButton(cancel,new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,int whichButton) {
dialog.cancel();
saveimage();
InputMethodManager im = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
im.hideSoftInputFromWindow(input.getWindowToken(),0);
}
});
alert.show();
我的秘密在哪里?有人可以帮我吗