我必须将Detailfragment移动到GridActivity.Workflow以进行活动 是GridActivity - > HomeActivity-> DetailFragment。
在GridActvity中我使用的是图像按钮。单击图像按钮I. 已经设定了在Articlelistener上移动HomeActivity的位置。
使用此侦听器,我可以使用位置移动到片段。
GridActivity1.java:
int position;
........
........
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn_tour:
Intent i1=new Intent(GridActivity1.this,MainActivity.class);
i1.putExtra("tour",2);
i1.putExtra("position", position);
startActivity(i1);
break;
}
}
MainActivity.java:
public class MainActivity extends ActionBarActivity implements OnTabChangeListener,ArticleSelectedListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.app_main_tab_fragment_layout);
posGrid= getIntent().getExtras().getInt("position");
switch(posGrid){
case 0:
int posTour = getIntent().getIntExtra("tour", 0);
articleSelected(posTour, "Tour Guide");
break;
}
}
@Override
public void onArticleSelected(int position, String content)
{
articleSelected(position, content);
}
public void articleSelected(int position, String content)
{
if(position==2)
{
action_bar_hometext.setText(content);
FragmentManager manager = getFragmentManager();
FragmentTransaction ft = manager.beginTransaction();
DetailFragment newFragment = new DetailFragment();
ft.replace(R.id.realtabcontent, newFragment);
ft.addToBackStack(null);
ft.commit();
}
}
DetailFragment.java:
public class TourGuideFirstFragment extends BaseFragment implements
OnItemClickListener {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
final View view = inflater.inflate(R.layout.fragment_tour_guide, container,
false);
return view;
}
}
我不需要操作栏后退按钮。因为我正在使用导航 抽屉碎片。
我的问题是,当我点击DetailFragment I中的硬件后退按钮时 需要直接移动到GridActivity.Now它转移到HomeActivity然后它回到GridActivity。
答案 0 :(得分:2)
您正在向Backstack添加FragmentTransaction,因此为了摆脱这种情况,您只需从MainActivity中删除该行
ft.addToBackStack(null);
之后它应该按照您希望的方式工作