Activity是不能直接跳转到Fragment的,需要先跳转到Fragment所附着的Activity中,然后再更改Activity当前显示哪个Fragment
准备要跳转的Activity
Intent intent = new Intent(CitySelectActivity.this, MainActivity.class);
intent.putExtra("checkName", curCity);
startActivity(intent);
Fragment所附的Activity
Intent intent = getIntent();
String checkName = intent.getStringExtra("checkName");
if (checkName != null) {
//要跳转到的Fragment
HomeFragment fragment = new HomeFragment();
//使用Bundle来传递参数
Bundle bundle = new Bundle();
bundle.putString("checkName", checkName);
fragment.setArguments(bundle);//数据传递到fragment中
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.frame_layout, fragment);
fragmentTransaction.commit();
}
需要跳转到的Fragment
Bundle bundle = this.getArguments();//得到从Activity传来的数据
if (bundle != null) {
String checkName = bundle.getString("checkName");
cityName.setText(checkName);
}