`
phenom
  • 浏览: 409356 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

ActivityGroup与EditText焦点问题

 
阅读更多
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也不会有光标闪烁,世界安静了。
分享到:
评论
1 楼 mysaber 2012-08-14  
mSearch.getWindowToken()为null,是不是因为你跳转到的那个界面,没有EditText,为什么不在有那个EditText的界面调imm.hideSoftInputFromWindow的方法,处理完就关掉,应该不会影响其他界面了吧

相关推荐

    android activitygroup中edittext无法删除

    现在的项目框架中很少用到activitygroup这种东西,谷歌也标识其为过时的产物了,但是在很多老项目中activitygroup还是普遍存在的,但是随之而来的就是activitygroup下的edittext一旦输入文字后便不能删除。...

    android activityGroup中edittext无法删除

    博客地址:http://blog.csdn.net/djy1992/article/details/47880719 网上有一种方法说是监听dispatchKeyEvent,然并卵啊。 建议使用这种方法,完美解决。

    activitygroup

    **知识点四:ActivityGroup的问题与`Fragment`的替代方案** 虽然`ActivityGroup`提供了一种实现多级导航的方式,但它存在许多问题,如内存泄漏、难以调试以及不兼容新版本的Android API。因此,从Android 3.0开始,...

    ActivityGroup实现Activit栈

    6. **限制与问题**: - ActivityGroup的设计存在一些限制,比如无法正确处理硬件回退键,可能导致用户导航混乱。 - 它也不支持Translucent Status Bar和Navigation Bar等现代Android特性。 - 因为ActivityGroup...

    使用ActivityGroup管理Activity

    在Android开发中,Activity是应用程序的基本组件,用于与用户交互并展示UI。然而,有时开发者可能需要在同一个栈中管理多个Activity,这时`ActivityGroup`就派上了用场。`ActivityGroup`是早期Android版本(Android ...

    Android中ActivityGroup的应用

    ActivityGroup的用法,头部和底部为固定布局中间动态显示界面 并在中间布局实现手势滑动效果,自定义SlidingDrawer(抽屉)效果,在ActivityGroup里执行跳转等功能。至于在Android在ActivityGroup里执行跳转详细介绍 ...

    gridview+activityGroup实现tab分页

    在Android开发中,创建一个具有分页功能的Tab布局是常见的需求,这通常涉及到GridView和ActivityGroup的结合使用。下面将详细解释这两个组件以及如何利用它们实现Tab分页。 首先,`GridView`是Android的一种视图...

    android ActivityGroup的demo

    这两个方法与正常的Activity生命周期方法不同,它们是针对在ActivityGroup内部运行的子Activity定制的。 3. **setContentView()**:在ActivityGroup中,我们不能直接使用setContentView()方法加载布局,而是需要...

    用ActivityGroup解决TabHost中多个Activity跳转问题

    为了解决这些问题,开发者引入了ActivityGroup,它允许在一个TabHost内嵌套多个Activity,使得在同一层级的Activity间切换更为便捷。 ActivityGroup是Android提供的一个特殊类型的Activity,它允许我们在一个...

    使用ActivityGroup来切换Activity和Layout

    在这种情况下,通常我们会选择使用TabHost或者Fragment等组件来实现,但如果你正在使用的是Android早期版本(API Level ),`ActivityGroup`是一个可行的选择。`ActivityGroup`是`TabActivity`的一种替代方案,它...

    tabhost和ActivityGroup的组合使用

    在实际项目中,我们可以将TabHost和Fragment结合使用,每个标签页都包含一个Fragment容器,然后在Fragment之间进行切换,这样既能实现动态内容加载,又能避免因使用ActivityGroup带来的潜在问题。对于旧项目改造,...

    Android开发—使用ActivityGroup来切换Activity和Layout.pdf

    在这个例子中,TestView可能被用来作为子Activity的内容视图,与ActivityGroup配合完成界面的切换。 6. **ScrollView**: - 为了适应不同的内容视图,使用ScrollView作为父容器,保证即使内容超过屏幕高度也能滚动...

    ActivityGroup和GridView实现标签分页

    7. **优化与注意事项**: 考虑到ActivityGroup的局限性,若要支持Android的新版本,建议使用Fragment替代,Fragment可以更好地管理生命周期,并且与Activity的交互更加灵活。此外,对于GridView,注意合理设置其列数...

    TabHost, ActivityGroup 的使用例子

    4. **保存和恢复状态**:由于ActivityGroup内的Activity生命周期与常规Activity不同,你需要特别处理保存和恢复状态的问题,例如使用`onSaveInstanceState(Bundle outState)`和`onRestoreInstanceState(Bundle ...

    ActivityGroup应用实例

    2. **LayoutInflator与ViewStub**:为了在ActivityGroup中添加子Activity,可能需要利用LayoutInflater将布局文件动态地加载到当前Activity的视图层次结构中。同时,ViewStub可能是用来延迟加载子Activity布局的工具...

    ActivityGroup框架

    GroupDemo项目中的修正调用系统Activity的Bug,可能是解决了当在ActivityGroup内部调用系统Activity(如Intent.ACTION_PICK)时,导致的生命周期混乱问题。在这样的情况下,可能需要手动处理启动系统Activity的返回...

    ActivityGroup之Activity内跳转和外跳转

    ActivityGroup是早期Android SDK中的一个特殊类型,它允许在一个Activity中嵌套多个子Activity,形成类似TabHost或者多窗口的效果。然而,从Android 3.0(API级别11)开始,ActivityGroup被废弃,推荐使用Fragment来...

    ActivityGroup之activity内跳转和外跳转

    ActivityGroup是一种旧版的Android实现,它允许在一个Activity中嵌套多个子Activity,这在早期版本的Android系统中常用于实现类似TabHost的效果。然而,自Android 3.0(API级别11)起,Android引入了Fragment的概念...

    安卓Android源码——TabHost内嵌ActivityGroup界面管理源码.zip

    在实际开发中,随着Android版本的更新,我们现在已经更多地使用Fragments和ViewPager等组件来实现多页面导航,但了解和掌握TabHost与ActivityGroup的用法,依然能为理解现代Android架构提供有益的背景知识。

    Android TabHost内嵌ActivityGroup界面管理源码.zip

    为ActivityGroup能往界面上不停的添加界面,这样就能实现界面的叠加效果,但是你叠加的时候就会发现,叠加上去的界面不会显示下面的选项卡, 而且你的返回键,也不好使。这个源码就是用到TabActivity内嵌ActivityGroup...

Global site tag (gtag.js) - Google Analytics