我遇到的有一下两种情况,希望可以帮助到更多的人
第一种情况的解决方案:
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;
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);
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="登录" />
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);
}
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) {
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);
list.add(0, new GongHuoshangFragment());
rb_dongtai.setChecked(true);
}
}
}
3.点击B按钮的时候获取穿过来的值
case R.id.btn_gonghuo:
setResult(1, null);
break;
setResult(1, null);
break;
4.A按钮正常跳转