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

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

代码:

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:focusable="true"
android:focusableInTouchMode="true"
android:orientation="vertical" > <EditText
android: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() {
@Override
public 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焦点问题的更多相关文章

  1. Android中EditText焦点问题

    https://www.jianshu.com/p/3d31d681f4bc 问题:当EditText失去焦点时做内容校验 场景:用户编辑EditText将内容清空,当点击空白地方时关闭软键盘,同时校 ...

  2. 【Android】ListView中EditText焦点问题

    一.描述: 近期一个项目中需要开发一种类似表格的界面来显示和配置参数,Android并无直接类似表格的控件支持,我采用了ListView中布局EditText和TextView来实现,其中TextVi ...

  3. android的EditText重新获取焦点问题

    在android开发过程中关于EditText在setFocusable(false);后,当需要再次获得焦点输入时设置setFocusable(true);后还是无法获得焦点的问题: 解决办法: 对 ...

  4. 使用ListView应该注意的地方

    android:clipToPadding和android:clipChildren http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/201 ...

  5. Android EditText不弹出输入法焦点问题的总结

    转自:http://mobile.51cto.com/aprogram-403138.htm 看一个manifest中Activity的配置,如果这个页面有EditText,并且我们想要进入这个页面的 ...

  6. scrollview中edittext失去焦点问题

    //edittext获取焦点后会瞬间失去,暂时使用这种笨方法解决(获取到焦点后过300ms再获取一次) public void requesFocus() { mEditName.setOnFocus ...

  7. EditText的焦点问题

    问题说明: activity中有个三级菜单,三个ListView嵌套,最后一层ListView的item中有EditText控件.要求EditText不仅能手动输入,还能点击加减进行改变.EditTe ...

  8. 关于ListView中EditText在软键盘弹出后的焦点问题

    转自:http://www.cnblogs.com/haofei/p/3305030.html 在ListView中,每次弹出软键盘后就会重新调用getView()方法,导致EditText失去焦点. ...

  9. edittext SearchView 失去焦点问题

    edittext 默认自己主动获取焦点的 并且会出现小键盘非常烦人 <LinearLayout             android:id="@+id/focus"     ...

随机推荐

  1. leetcode String相关

    目录 3无重复字符的最长子串 5最长回文子串 8字符串转换整数(atoi), 9回文数,7整数反转 28实现strStr(), 459重复的子字符串(KMP) 43字符串相乘 71简化路径 93复原I ...

  2. layui富文本编译器后台获取图片路径

    @RequestMapping("add")    public ModelAndView add(News news){        ModelAndView mav = ne ...

  3. php函数 array_values()

    array_values() 函数返回一个包含给定数组中所有键值的数组,但不保留键名. 提示:被返回的数组将使用数值键,从 0 开始并以 1 递增. $a=array("Name" ...

  4. 10.Flask-上下文

    1.1.local线程隔离对象 不用local对象的情况 from threading import Thread request = ' class MyThread(Thread): def ru ...

  5. xhtml1-frameset.dtd

    <!-- Extensible HTML version 1.0 Frameset DTD This is the same as HTML 4 Frameset except for chan ...

  6. Serializable资料整理

    1. 序列化 简单的说就是为了保存 内存中各种对象的状态(是实例变量,不是方法),并且可以把保存的对象读取出来. 虽然保存 object states的方法很多,但是Java提供了一种保存对象状态的机 ...

  7. 关于MVC4.0版本以上的RegisterBundles用法

    public class BundleConfig { //新建了一个项目文件,打开App_Start下的BundleConfig看看, public static void RegisterBund ...

  8. 使用Sql Server Management Studio 2008将数据导出到Sql文件中

      最近需要将一个Sql Server 2005数据库中的数据导出,为了方便,就希望能导出成Sql文件,里面包含的数据是由Insert 语句组成的. 在Sql Server Management St ...

  9. C#快速获取指定网页源码的几种方式,并通过字符串截取函数 或 正则 取指定内容(IP)

    //只获取网页源码开始到标题位目的进行测试 //第一种方式经过测试,稍微快点 string url = "http://www.ip.cn"; HttpWebRequest req ...

  10. redis-linux

    redis3.0.4 server版本 jedis-2.7.2.jar spring-data-redis-1.6.0.RELEASE.jar commons-pool2-2.3.jar spring ...