在城市页面点击下面菜单没有反应

在城市页面点击下面菜单没有反应

我用replace把城市的fragment代替了主页的fragment后,点击下面的三个菜单没有反应

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

5回答
好帮手慕雪 2018-02-04 16:10:35

你的城市也是一个fragment吧?那就应该在主页中也把它算上。就跟 R.id.menu_user: R.id.menu_shop是一样的地位。这样到城市才能再切换回来。由于代码量较多,也不排除你只有这一处的问题,如果还是调试不出来,可以提交作业时,加个作业说明提醒老师关注,这样老师会在批复时给你答复。祝:学习愉快

提问者 sxd819 2018-02-02 19:18:17
switch (view.getId()){
    case R.id.menu_main:
        this.getSupportFragmentManager()
                .beginTransaction()
                .show(mainFragment)
                .hide(shopFragment)
                .hide(userFragment)
                .commit();
        break;
    case R.id.menu_shop:
        this.getSupportFragmentManager()
                .beginTransaction()
                .hide(mainFragment)
                .show(shopFragment)
                .hide(userFragment)
                .commit();
        break;
    case R.id.menu_user:
        this.getSupportFragmentManager()
                .beginTransaction()
                .hide(mainFragment)
                .hide(shopFragment)
                .show(userFragment)
                .commit();
        break;
}


提问者 sxd819 2018-02-02 19:13:57
switch (view.getId()){
    case R.id.btn_select_location:
        getActivity().getSupportFragmentManager()
                .beginTransaction()
                .replace(R.id.container_content,new LocationFragment())
                .commit();
        break;
    case R.id.btn_main_pro1:
    case R.id.btn_main_pro5:
        break;
    case R.id.btn_main_pro2:
    case R.id.btn_main_pro6:
        break;
    case R.id.btn_main_pro3:
    case R.id.btn_main_pro7:
    case R.id.btn_shop_pro3:
    case R.id.btn_shop_pro7:
        getActivity().getSupportFragmentManager()
                .beginTransaction()
                .replace(R.id.container_content,new FoodFragment())
                .commit();
        break;
    case R.id.btn_main_pro4:
    case R.id.btn_main_pro8:
        break;
}


irista23 2018-02-02 17:41:17

你替换是如下这样操作的吗?

FragmentManager fm=getSupportFragmentManager();
FragmentTransaction fs=fm.beginTransaction();
……
fs=fm.beginTransaction();
switch (checkedId){
    case R.id.mainPage:
        fs.replace(R.id.container,new MainPageFragment());
        break;
    case R.id.business:
        fs.replace(R.id.container,new BusinessFragment());
        break;
    case R.id.userId:
        fs.replace(R.id.container,new UserInfoFragment());
        break;
    default:
        break;
}
fs.commit();


  • 提问者 sxd819 #1
    是的,不过我是连着写的
    2018-02-02 19:10:51
  • 提问者 sxd819 #2
    不好意思,刚刚看错了,我用的是之前视频里老师讲的,用show和hide
    2018-02-02 19:17:25
irista23 2018-02-02 16:07:39

建议你按照3-1视频中的09:06以后开始添加设置蓝色背景选择器,并且要设置图片的background属性值为选择器 。再按照3-2视频中的操作给底部每个菜单View添加OnClickListener监听器,设置好监听器。ps:你可以结合下载资料中的源码对照一下自己的代码。如果还是有问题,也可以把相关代码贴出来,方便我们帮你找到问题原因。


  • 提问者 sxd819 #1
    老师,设置我都设置了,主页、购物、用户三个fragment点击下面的菜单可以切换,而且颜色也会改变,就是我从主页点击进入地区的fragment后,再点击下面的菜单,它就切换不了了
    2018-02-02 17:24:10
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师