单击片段中的硬件后退按钮以返回到GridActivity

时间:2015-07-28 10:07:24

标签: android

  • 我必须将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。

1 个答案:

答案 0 :(得分:2)

您正在向Backstack添加FragmentTransaction,因此为了摆脱这种情况,您只需从MainActivity中删除该行

ft.addToBackStack(null);

之后它应该按照您希望的方式工作