在引用一个第三方的开源库实现从底部弹出一个Dialog,且在里面有一个EditText,因此在弹出Dialog时还需要自定弹出输入法,在网上看了半天也无法实现,后来从该库给的源码中学到了实现方法,特此收藏。
该开源库的地址:https://github.com/shaohui10086/BottomDialog
etLsnum= (EditText) v.findViewById(R.id.et_bottom_dialog_lsnum);
etLsnum.post(new Runnable() {
@Override
public void run() {
InputMethodManager imm =
(InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(etLsnum, 0);
}
});
上述就是核心源码,首先获取目标EditText,然后再post方法里面得到InputMethodManager并显示输入法(因为这段代码实在Fragment中实现的,所以需要用getActivity()方法得到context)。