Fragment replace上一个fragment还存在,怎么办!急急急!

珊瑚 2013-01-12 07:31:24
我的代码如下
RegisterStep1Fragment registerStep1Fragment = new RegisterStep1Fragment();
FragmentTransaction transaction = getFragmentManager()
.beginTransaction();
transaction.replace(R.id.user_fragment, registerStep1Fragment);
transaction
.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_CLOSE);
transaction.addToBackStack(null);
transaction.commit();

我想从登陆fragment切换到注册fragment,为什么切换之后上一张登陆fragment的按钮还能相应,并没有进入onpause状态,请问怎么处理!
急急急!谢谢大神!
...全文
2016 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
You-Can-You-Up 2014-09-26
  • 打赏
  • 举报
回复
好像在某个论坛上看到了解决办法,在第二个fragment的根布局上加一个clickable="true",例如
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/light_gray"
    android:clickable="true"
    android:orientation="vertical" >
</LinearLayout>
连接我找不到了,那个人的理由是第二个fragment的状态默认是不可点击,虽然替换了第一个,但如果不添加这个属性还是第一个fragment获得焦点,加了这个属性,你在当前的点击只会停留在当前view,不会往上传递了,试试看吧
a离 2014-09-22
  • 打赏
  • 举报
回复 1
container 用framelayout
handongdeyangg 2014-01-17
  • 打赏
  • 举报
回复
楼主,你是怎么让被替换的Fragment失去焦点的呢?求解啊
hnrainll 2013-12-25
  • 打赏
  • 举报
回复
引用 2 楼 birdsaction 的回复:
transaction.addToBackStack(null); 把这个代码去掉试试
同意。2楼的。 其实这里要理解addToBackStack是将一个事务添加到List当中,所以按返回键时能退回去。
Birds2018 2013-12-25
  • 打赏
  • 举报
回复
transaction.addToBackStack(null); 把这个代码去掉试试
undefined_error 2013-12-24
  • 打赏
  • 举报
回复
你好,我也遇到 了相同 的问题,请问你解决了没有呢?

80,469

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧