【已解决】 主Activity中无法实现intent跳转
领券联盟主Activity实现fragment,我在新BActivity中也复制了一样的方法实现fragment,新创建了intent跳转想要从B跳转到A显示,但是一直报错空指针。
public class RealMainAc extends AppCompatActivity {
@BindView(R.id.real_main_navigation_bar)
public BottomNavigationView mNavigationView;
private Button reserve;
private Button button;
private RealHomeFragment rRealHomeFragment;
private RecommendFragment rRecommendFragment;
private MessageFragment rMessageFragment;
private UserFragment rUserFragment;
private Unbinder rBind;
private FragmentManager rFm;
// private final String tag = "";
@Override
protected void onDestroy() {
super.onDestroy();
if (rBind!=null) {
rBind.unbind();
}
}
@Override
protected void onCreate( Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.real_home);
rBind = ButterKnife.bind(this);
reserve =(Button) findViewById(R.id.reservation);
button = (Button) findViewById(R.id.button2) ;
initListener();
initFragment();
//reserve.setOnClickListener(this);
}
private void initFragment() {
rRealHomeFragment = new RealHomeFragment();
rRecommendFragment = new RecommendFragment();
rMessageFragment = new MessageFragment();
rUserFragment = new UserFragment();
rFm = getSupportFragmentManager();
switchFragment(rRealHomeFragment);
}
// private void initView(){
// HomeFragment homeFragment = new HomeFragment();
// mfm= getSupportFragmentManager();
// FragmentTransaction transaction = mfm.beginTransaction();
// transaction.add(R.id.main_page_container,homeFragment);
// transaction.commit();
// }
private void initListener(){
mNavigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected( @Nullable MenuItem item) {
if(item.getItemId() == R.id.real_home){
//Log.d(tag,"切换到首页");
LogUtils.d(this,"切换到首页");
switchFragment(rRealHomeFragment);
}else if(item.getItemId() == R.id.real_select){
LogUtils.i(this,"切换到推荐");
switchFragment(rRecommendFragment);
}else if(item.getItemId() == R.id.real_message){
LogUtils.d(this,"切换到消息");
switchFragment(rMessageFragment);
}else if(item.getItemId() == R.id.real_search){
LogUtils.d(this,"切换到搜索");
switchFragment(rUserFragment);
}
return true;
}
});
reserve.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick( View v) {
Intent intent = new Intent( RealMainAc.this,ui.activity.RealMainAc.class); //跳转到页面1
startActivity(intent);
}
});
}
private void switchFragment(BaseFragment targetFragment) {
FragmentTransaction fragmentTransaction= rFm.beginTransaction();
fragmentTransaction.replace(R.id.real_home_container,targetFragment);
fragmentTransaction.commit();
}
}
报错空指针
您的每一个用心回答,都会让这个世界变得更美好一些!