You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

RecyclerView Adapter点击跳转SelectRoomFragment显示异常求助

RecyclerView点击跳转Fragment显示异常的修复方案

核心问题分析

你当前使用add()方法执行Fragment事务,该方法会将新Fragment叠加在容器内已有的Fragment之上,这就是导致显示效果不符合预期的直接原因。

修复代码

将Fragment事务中的add()替换为replace(),replace()会移除容器内原有Fragment并添加新的Fragment,实现正常的页面切换效果:

@Override
public void selectMarket(DataMarket dataMarket) {
    SelectRoomFragment selectRoomFragment= new SelectRoomFragment();
    Bundle args = new Bundle();
    args.putString("market",dataMarket.getTitle());
    selectRoomFragment.setArguments(args);
    
    getFragmentManager().beginTransaction()
            .replace(R.id.fragment_container, selectRoomFragment)
            .addToBackStack(null) // 可选:添加到返回栈,支持返回键回到上一级页面
            .commit();
}

额外检查项

  • 确认R.id.fragment_container是正确的Fragment容器(通常为FrameLayout),且布局中无其他视图遮挡或冲突
  • 检查SelectRoomFragment的根布局宽高是否设置为match_parent,避免显示不全
  • 确保Adapter中的SelectMarket接口实例已正确初始化(比如在Adapter构造方法中传入接口实现类),防止点击时出现空指针异常

内容的提问来源于stack exchange,提问作者Meston Enock

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 07:54:22