簡體   English   中英

從片段返回活動的正確方法是什么

[英]What is the right way return from fragment to activity

我有一個帶有彈出菜單欄的活動,您可以在其中選擇將活動屏幕更改為片段屏幕的特定項目。 當關閉菜單並按下“后退”按鈕時,我希望屏幕更改為與出現片段屏幕之前相同的活動的屏幕。

我嘗試了這些功能,但:

  1. 首先,我回到了程序的主屏幕-之前的活動已被片段屏幕替換。

  2. 第二個什么也沒做。

  3. 第三個有效,但是我不確定這是正確的方法

     @Override public void onBackPressed() { DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); if (drawer.isDrawerOpen(GravityCompat.START)) { drawer.closeDrawer(GravityCompat.START); } else { super.onBackPressed(); } } @Override public void onBackPressed() { DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); if (drawer.isDrawerOpen(GravityCompat.START)) { drawer.closeDrawer(GravityCompat.START); } else { getFragmentManager().popBackStackImmediate(); } } @Override public void onBackPressed() { DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); if (drawer.isDrawerOpen(GravityCompat.START)) { drawer.closeDrawer(GravityCompat.START); } else { startActivity(new Intent(this, RegisterActivity.class)); } } 

我相信您的第二個選擇是正確的方法。

但是,您仍然需要調用.beginTransaction().commit()

正如Tim Castelijns所提到的那樣,應該傾聽您的活動。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM