关于Fragment的一个小问题求指点

Android 码拜 9年前 (2015-04-27) 926次浏览 0个评论
 

      运用Fragment设计一个底部菜单栏,比如菜单栏里有3个按钮ABC,分别对应页面FragmentA、FragmentB和FragmentC,这些都没问题。现在问题是,页面FragmentA中点击内部一个按钮,页面要跳转到FragmentA_1,注意,这个页面显示的时候底部菜单栏仍然处于显示状态(A按钮处于选中状态)。请问这个能实现吗?网上找的的一些资源都是跳转到一个Activity,这个Activity显示时底部菜单栏是不显示的。
    请高手指点下,谢谢!

关于Fragment的一个小问题求指点
30分
在fragmentA中注册一个接口
  public interface OnResourcrItemSelectedListener {  
        public void onResourceIemSelected(DeviceInfo deviceInfo);  
    }

然后在activity中实现这个接口
public class MainActivity extends Activity implements
OnResourcrItemSelectedListener
然后实现接口的方法
/**
 * 点击 资源列表item触发
 */
@Override
public void onResourceIemSelected(DeviceInfo deviceInfo) {
//切换 fragment的代码
}
在fragmentA中获取 activity的实例 然后
在按钮的点击事件中触发
mainActivity .onResourceIemSelected(deviceInfo);

关于Fragment的一个小问题求指点
应该可以LinearLayout嵌套使用一个FrameLayout专门展示fragment,下面是3个按钮,然后每次都是替换FrameLayout中的fragment,按钮还是不动
关于Fragment的一个小问题求指点
再创建一个fragment名字为FragmentA_1,点击按钮时直接替换fragment就行了
关于Fragment的一个小问题求指点
什么叫做按钮还是不动,你需要按钮一直处于selected吗?那么你就只能手动进行设置了,因为 android 不会帮你设置这个状态的, android 只会当你手触碰到按钮的时候出发 pressed 状态,手离开之后, pressed 状态自动还原,  所以你每次点击切换按钮之后,如果希望按钮的状态保留,请手动设置状态
关于Fragment的一个小问题求指点
5分
你说的大概就是底部是导航栏。然后点击导航的按钮上边跳转页面吧。
这个就一个Activity就OK了
你在布局的底部把这个导航的布局放上去。然后上边用一个空的layout填满
然后有几个页面就写几个类继承Fragment,在每个Fragment里边实现这个页面的布局功能之类的。。
最后java代码里边可以用replace将那个空布局替换成你写好的Fragment。点击按钮就显示对应的fragment即可。具体你可以百度下这个方法怎么用。。我就不贴代码了,还是很容易的。
关于Fragment的一个小问题求指点
5分
可以實現的,但是我認爲你這樣設計出來的頁面邏輯是混亂的,你的要求是2個:(1)讓底部菜單顯示 (2)從fragmentA —>fragmentA_1;請注意你頁面級別層次問題,如果你要滿足條件1,那麼說明你的頁面是處於第一層的;如果滿足條件2,那麼說明fragmentA_1是framentA的一個子頁面,是處於第二層的,因此這2個條件本身就是矛盾的,而且是毫無意義的,建議你fragmentA_1做成一個Activity.
关于Fragment的一个小问题求指点
引用 6 楼 ITbailei 的回复:

可以實現的,但是我認爲你這樣設計出來的頁面邏輯是混亂的,你的要求是2個:(1)讓底部菜單顯示 (2)從fragmentA —>fragmentA_1;請注意你頁面級別層次問題,如果你要滿足條件1,那麼說明你的頁面是處於第一層的;如果滿足條件2,那麼說明fragmentA_1是framentA的一個子頁面,是處於第二層的,因此這2個條件本身就是矛盾的,而且是毫無意義的,建議你fragmentA_1做成一個Activity.

你说的对,我也一直受此困扰,正好向你讨教该怎么办。
比如,下边的导航栏分别是“学生信息”、“设置”以及一个工具之类的,总之,这几部分之间内容上的联系并不密切。现在就说“学生信息”这个,点这个导航显示的是一个学生名单,也就是一个列表,而要查看某一个学生的详细信息则要点击对应的item,这时当然可以直接跳转到一个activity了事,但从内容上看,这个学生的详细信息和他所依赖的学生名单的列表不都是属于“学生信息”吗?,那么这个学生的详细信息出现在“学生信息”这一栏里,似乎也很合理啊。
不过这种方式的页面层次确实少见,我只见到一个,是在喜马拉雅听书里。
,

关于Fragment的一个小问题求指点
1#楼为最佳答案,其实这个问题更涉及到fragment间的通信问题,参考此贴:
http://blog.csdn.net/xyz_lmn/article/details/8631195
1#楼答案即该贴的方案


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明关于Fragment的一个小问题求指点
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!