您的位置:首页 > 移动开发 > Android开发

不属于底部导航栏上的Fragment 替换底部的Fragment

2016-06-30 09:18 597 查看
我遇到的有一下两种情况,希望可以帮助到更多的人


第一种情况的解决方案:
1.先创建F  Fragment 继承自Fragment
2.在底部导航栏所依附的Activity上发送通知

 private static FragmentManager manager;

 private static FragmentTransaction transition;

 public static final int LOGINSUCC=293983;

 public static Handler handler = new Handler() {

  public void handleMessage(android.os.Message msg) {

   switch (msg.what) {

   case LOGINSUCC:

    transition = manager.beginTransaction();

    transition.replace(R.id.main_Frame, new PersonalFrag());

    transition.commit();

    break;

   }

  };

 };

3.在点击按钮就替换Fragment的按钮获取发送过来的通知

case R.id.geren_loginBtn:

   MainActivity.handler.sendEmptyMessage(MainActivity.LOGINSUCC);

   break;

第二种情况如下


解决方案:
1.在c按钮的XML文件添加点击事件
    <Button

            android:id="@+id/btn_login"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:layout_alignTop="@+id/btn_register"

            android:layout_toRightOf="@+id/textView1"

            android:onClick="Login"

            android:text="登录" />
2.在MainActivity中用activityforResult进行传值

 // *******************************************************

 public void Login(View v) {

  // TODO Auto-generated method stub

  Intent intent5 = new Intent(this, LoginActivity.class);

  startActivityForResult(intent5, 1);

 }

 @Override

 protected void onActivityResult(int arg0, int arg1, Intent arg2) {

  // TODO Auto-generated method stub

  super.onActivityResult(arg0, arg1, arg2);

  if (arg0 == 1 && arg1 == 1) {

   list.remove(0);

   list.add(0, new GongHuoshangFragment());

   rb_dongtai.setChecked(true);

  }

 }

3.点击B按钮的时候获取穿过来的值
 case R.id.btn_gonghuo:

   

   setResult(1, null);

   break;
4.A按钮正常跳转
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android