【问题标题】:FragmentActivity closes when back button pressed from its fragment当从其片段按下后退按钮时,FragmentActivity 关闭
【发布时间】:2016-02-18 07:24:11
【问题描述】:

我有片段活动,我称之为 Fragment A 然后 Fragment BFragment A 等等。我使用了 backstack 属性。因此,当我单击片段 B 中的后退按钮时,我会转到片段 A。但是从片段 A 它不会进入片段 Activity,而是退出活动并进入主要活动。 任何帮助

我的片段活动

public class ShowAllAccounts extends FragmentActivity{

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.show_all_accounts);
       ......

                    FragmentManager fragmentManager = getSupportFragmentManager();
                    FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
                    TableViewFragment mTableViewFragment = new TableViewFragment();                      
                    fragmentTransaction.replace(R.id.table_fragment_container, mTableViewFragment,"tabFrag");

                    fragmentTransaction.commit();
             }


}

在我的表格视图片段中

 ViewAccountDetailsFragment AccountViewFragment = new ViewAccountDetailsFragment();
                                FragmentManager fragmentManager = getFragmentManager();
                                FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
                                fragmentTransaction.replace(R.id.table_fragment_container, AccountViewFragment, "viewAcctFrag");
                                fragmentTransaction.addToBackStack(null);
                                AccountViewFragment.setArguments(dataBundle);
                                fragmentTransaction.commit();

从这里我调用帐户视图片段

我在这里还有一个疑问。从第二个片段(仅视图)我正在调用另一个活动(用于编辑),如果我想取消对此活动的编辑,我可以转到上一个片段,即。第二个片段是用来查看细节的。???

请帮助我是 android 新手

【问题讨论】:

  • 请提供您的代码。
  • 查看更新代码

标签: android-fragmentactivity fragment-backstack


【解决方案1】:

看起来你的堆栈是空的,你使用 Intent Flags 吗? 试试看这里http://developer.android.com/guide/components/tasks-and-back-stack.html

如果你只有一个活动 覆盖 OnBackPress 事件并做你的事情只是返回或其他东西。

@Override
public void onBackPressed() {
   return;
}

Xamarin 人:

    public override void OnBackPressed()
    {
        base.OnBackPressed();
        return;
    }

【讨论】:

猜你喜欢
  • 2017-06-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多