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

来源:5-7 作业题

sxd819

2018-02-02 15:54:30

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

写回答

5回答

好帮手慕雪

2018-02-04

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

0

sxd819

提问者

2018-02-02

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;
}


0

sxd819

提问者

2018-02-02

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;
}


0

irista23

2018-02-02

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

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();


0
hxd819
h 不好意思,刚刚看错了,我用的是之前视频里老师讲的,用show和hide
h018-02-02
共2条回复

irista23

2018-02-02

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


0
hxd819
h 老师,设置我都设置了,主页、购物、用户三个fragment点击下面的菜单可以切换,而且颜色也会改变,就是我从主页点击进入地区的fragment后,再点击下面的菜单,它就切换不了了
h018-02-02
共1条回复

0 学习 · 7235 问题

查看课程