欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

EditText焦点问题

发布时间:2025/3/8 编程问答 37 豆豆
生活随笔 收集整理的这篇文章主要介绍了 EditText焦点问题 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

1、在一个Activity中加入一个EditText后,每次进入这个Activity时输入法都会自己主动弹出来。非常烦,找了些资料,在此记下解决的方法:

方法:在EditText的父控件中获得焦点。这样焦点就不会自己主动跑到EditText上了。

代码:

<LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:focusable="true"android:focusableInTouchMode="true"android:orientation="vertical" ><EditTextandroid:layout_width="match_parent"android:layout_height="match_parent"android:layout_gravity="center_vertical"android:background="@null"android:inputType="text"android:padding="3dp"android:singleLine="true"android:textColor="#666666"android:textColorHint="#777777" /> </LinearLayout>
2、希望在EditText获得焦点时才弹出输入法,失去焦点时关闭输入法。

方法:设置EditText的FocusListener。

代码:

mTitleEdit = (EditText)findViewById(R.id.share_title_edit); mTitleEdit.setOnFocusChangeListener(onFocusChangeListener); mContentEdit = (EditText)findViewById(R.id.share_content_edit); mContentEdit.setOnFocusChangeListener(onFocusChangeListener);private OnFocusChangeListener onFocusChangeListener = new OnFocusChangeListener() {@Overridepublic void onFocusChange(View v, boolean hasFocus) {if(hasFocus) {SystemUtils.showSoftInput(SharePubActivity.this, v);} else {SystemUtils.hideSoftInput(SharePubActivity.this, v);}} };public static void showSoftInput(Context context, View v) {InputMethodManager imm = (InputMethodManager)context.getSystemService(Context.INPUT_METHOD_SERVICE);imm.showSoftInput(v, 0); }public static void hideSoftInput(Context context, View v) {InputMethodManager imm = (InputMethodManager)context.getSystemService(Context.INPUT_METHOD_SERVICE);imm.hideSoftInputFromWindow(v.getWindowToken(), 0); }


总结

以上是生活随笔为你收集整理的EditText焦点问题的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。