跳转时给intent加一个标识符(更严谨的方式是通过请求码和结果码实现)。
Intent intent=new Intent(this, MainActivity.class); intent.putExtra("shoppingCartId",1); startActivity(intent);
在MainActivity的onResume()方法中得到这个标识符,并且切换到相应的Tab即可:
@Override protected void onResume() { super.onResume(); id = getIntent().getIntExtra("shoppingCartId", 0); if (id == 1) { // 选中第三个 ((RadioButton) radioGroup.getChildAt(2)).setChecked(true); //跳转结束,将intent内的值清零 getIntent().putExtra("shoppingCartId", 0); } }
由于主页启动模式要设置成
android:launchMode="singleTask"
此时MainActivity会无法获取intent传过来的值
解决办法:
@Override protected void onNewIntent(Intent intent) { super.onNewIntent(intent); setIntent(intent); }