tab用了ActivityGroup来处理,因为工程是前面人留下的,没有修改tab了,然后里面的EditText就一直是焦点状态,键盘处理弹出状态。
boolean flag=imm.hideSoftInputFromWindow(mSearch.getWindowToken(),InputMethodManager.RESULT_HIDDEN);
Log.d(TAG,"flag:"+flag);
flag=imm.hideSoftInputFromWindow(mSearch.getWindowToken(),InputMethodManager.RESULT_UNCHANGED_HIDDEN);
Log.d(TAG,"flag:"+flag);
flag=imm.hideSoftInputFromWindow(mSearch.getWindowToken(),InputMethodManager.HIDE_NOT_ALWAYS);
Log.d(TAG,"flag:"+flag);
flag=imm.hideSoftInputFromWindow(mSearch.getWindowToken(),InputMethodManager.HIDE_IMPLICIT_ONLY);
Log.d(TAG,"flag:"+flag);
这些不可控制,也是非常无语啊,在androidmanifest里面再配置同样无效。不知道这是什么问题,后来才知道。mSearch.getWindowToken()这个为null,
然后就无法获取imm,所以无法关闭。也没找到AttachInfo为什么没有初始化。
有人说mSearch.clearFocus()之类的方法可以,试 了,同样无效。快绝望时,突然把ET设为android:editable="false" ,键盘不会再弹出来了。这也是目前我找到的唯一可用办法。
你也许会问题,如果不可编辑,如何输入文字呢?可以这样处理。在它前面加一个<EditText
android:lines="1" android:editable="false"
android:layout_margin="0dip"
android:layout_width="0dip" android:layout_height="0dip"/>
这样就可以了。当然,此时mSearch也不会有光标闪烁,世界安静了。
分享到:
相关推荐
现在的项目框架中很少用到activitygroup这种东西,谷歌也标识其为过时的产物了,但是在很多老项目中activitygroup还是普遍存在的,但是随之而来的就是activitygroup下的edittext一旦输入文字后便不能删除。...
博客地址:http://blog.csdn.net/djy1992/article/details/47880719 网上有一种方法说是监听dispatchKeyEvent,然并卵啊。 建议使用这种方法,完美解决。
**知识点四:ActivityGroup的问题与`Fragment`的替代方案** 虽然`ActivityGroup`提供了一种实现多级导航的方式,但它存在许多问题,如内存泄漏、难以调试以及不兼容新版本的Android API。因此,从Android 3.0开始,...
6. **限制与问题**: - ActivityGroup的设计存在一些限制,比如无法正确处理硬件回退键,可能导致用户导航混乱。 - 它也不支持Translucent Status Bar和Navigation Bar等现代Android特性。 - 因为ActivityGroup...
在Android开发中,Activity是应用程序的基本组件,用于与用户交互并展示UI。然而,有时开发者可能需要在同一个栈中管理多个Activity,这时`ActivityGroup`就派上了用场。`ActivityGroup`是早期Android版本(Android ...
ActivityGroup的用法,头部和底部为固定布局中间动态显示界面 并在中间布局实现手势滑动效果,自定义SlidingDrawer(抽屉)效果,在ActivityGroup里执行跳转等功能。至于在Android在ActivityGroup里执行跳转详细介绍 ...
在Android开发中,创建一个具有分页功能的Tab布局是常见的需求,这通常涉及到GridView和ActivityGroup的结合使用。下面将详细解释这两个组件以及如何利用它们实现Tab分页。 首先,`GridView`是Android的一种视图...
这两个方法与正常的Activity生命周期方法不同,它们是针对在ActivityGroup内部运行的子Activity定制的。 3. **setContentView()**:在ActivityGroup中,我们不能直接使用setContentView()方法加载布局,而是需要...
为了解决这些问题,开发者引入了ActivityGroup,它允许在一个TabHost内嵌套多个Activity,使得在同一层级的Activity间切换更为便捷。 ActivityGroup是Android提供的一个特殊类型的Activity,它允许我们在一个...
在这种情况下,通常我们会选择使用TabHost或者Fragment等组件来实现,但如果你正在使用的是Android早期版本(API Level ),`ActivityGroup`是一个可行的选择。`ActivityGroup`是`TabActivity`的一种替代方案,它...
在实际项目中,我们可以将TabHost和Fragment结合使用,每个标签页都包含一个Fragment容器,然后在Fragment之间进行切换,这样既能实现动态内容加载,又能避免因使用ActivityGroup带来的潜在问题。对于旧项目改造,...
在这个例子中,TestView可能被用来作为子Activity的内容视图,与ActivityGroup配合完成界面的切换。 6. **ScrollView**: - 为了适应不同的内容视图,使用ScrollView作为父容器,保证即使内容超过屏幕高度也能滚动...
7. **优化与注意事项**: 考虑到ActivityGroup的局限性,若要支持Android的新版本,建议使用Fragment替代,Fragment可以更好地管理生命周期,并且与Activity的交互更加灵活。此外,对于GridView,注意合理设置其列数...
4. **保存和恢复状态**:由于ActivityGroup内的Activity生命周期与常规Activity不同,你需要特别处理保存和恢复状态的问题,例如使用`onSaveInstanceState(Bundle outState)`和`onRestoreInstanceState(Bundle ...
2. **LayoutInflator与ViewStub**:为了在ActivityGroup中添加子Activity,可能需要利用LayoutInflater将布局文件动态地加载到当前Activity的视图层次结构中。同时,ViewStub可能是用来延迟加载子Activity布局的工具...
GroupDemo项目中的修正调用系统Activity的Bug,可能是解决了当在ActivityGroup内部调用系统Activity(如Intent.ACTION_PICK)时,导致的生命周期混乱问题。在这样的情况下,可能需要手动处理启动系统Activity的返回...
ActivityGroup是早期Android SDK中的一个特殊类型,它允许在一个Activity中嵌套多个子Activity,形成类似TabHost或者多窗口的效果。然而,从Android 3.0(API级别11)开始,ActivityGroup被废弃,推荐使用Fragment来...
ActivityGroup是一种旧版的Android实现,它允许在一个Activity中嵌套多个子Activity,这在早期版本的Android系统中常用于实现类似TabHost的效果。然而,自Android 3.0(API级别11)起,Android引入了Fragment的概念...
在实际开发中,随着Android版本的更新,我们现在已经更多地使用Fragments和ViewPager等组件来实现多页面导航,但了解和掌握TabHost与ActivityGroup的用法,依然能为理解现代Android架构提供有益的背景知识。
为ActivityGroup能往界面上不停的添加界面,这样就能实现界面的叠加效果,但是你叠加的时候就会发现,叠加上去的界面不会显示下面的选项卡, 而且你的返回键,也不好使。这个源码就是用到TabActivity内嵌ActivityGroup...