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

============问题描述============


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

============解决方案1============


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

============解决方案2============


你说的大概就是底部是导航栏。然后点击导航的按钮上边跳转页面吧。
这个就一个Activity就OK了
你在布局的底部把这个导航的布局放上去。然后上边用一个空的layout填满
然后有几个页面就写几个类继承Fragment,在每个Fragment里边实现这个页面的布局功能之类的。。
最后java代码里边可以用replace将那个空布局替换成你写好的Fragment。点击按钮就显示对应的fragment即可。具体你可以百度下这个方法怎么用。。我就不贴代码了,还是很容易的。

============解决方案3============


可以實現的,但是我認爲你這樣設計出來的頁面邏輯是混亂的,你的要求是2個:(1)讓底部菜單顯示 (2)從fragmentA —>fragmentA_1;請注意你頁面級別層次問題,如果你要滿足條件1,那麼說明你的頁面是處於第一層的;如果滿足條件2,那麼說明fragmentA_1是framentA的一個子頁面,是處於第二層的,因此這2個條件本身就是矛盾的,而且是毫無意義的,建議你fragmentA_1做成一個Activity.
posted @ 2014-10-23 16:54  0基础学android开发  阅读(134)  评论(0编辑  收藏  举报
我要啦免费统计