zgf1991 IT新人

本博客是记录一些学习笔记,以及项目中碰到的问题,下次可以直接用。

Android弹出关闭输入法小记


     注意 : editText.requestFocus();    在需要弹出输入法的时候

  


public class InputMethodUtil {
	public static Context mContext;
	public static Handler inputHandler = new Handler() {
		public void handleMessage(android.os.Message msg) {
			View view = (View) msg.obj;
			showInput(mContext, view);
		};
	};

	/**
	 * 
	 * @param context
	 * @param view
	 * @param delayMillis
	 *            : onCreate()  中不能马上弹出,需要稍微延时
	 */
	public static void showInputMethod(Context context, View view,
			long delayMillis) {
		mContext = context;
		Message msg = inputHandler.obtainMessage();
		msg.obj = view;
		inputHandler.sendMessageDelayed(msg, delayMillis);
	}

	private static void showInput(Context context, View view) {
		InputMethodManager im = (InputMethodManager) context
				.getSystemService(Context.INPUT_METHOD_SERVICE);
		im.showSoftInput(view, 0);

	}

	/**
	 * 
	 * @param context
	 *            关闭输入法,需要一个activity
	 */
	public static void closeInputMethod(Activity context) {
		try {
			InputMethodManager inputMethodManager = (InputMethodManager) context
					.getSystemService(Context.INPUT_METHOD_SERVICE);
			inputMethodManager.hideSoftInputFromWindow(context
					.getCurrentFocus().getWindowToken(),
					InputMethodManager.HIDE_NOT_ALWAYS);

		} catch (Exception e) {
			// TODO: handle exception
			Log.d("", "关闭输入法异常");
		}
	}
}


阅读更多
文章标签: Android 输入法
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭