在引用一個第三方的開源庫實現從底部彈出一個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)。