gpt4 book ai didi

android - 如何使用媒体 Controller 上的后退按钮反转 fragment 事务?

转载 作者:行者123 更新时间:2023-11-30 01:41:58 26 4
gpt4 key购买 nike

我正在尝试撤消 fragment 事务,以便在用户点击后退按钮时将用户带回前一个 fragment 。问题是,有一个媒体 Controller ,因此后退按钮事件将由 dispatchKeyEvent 处理。我尝试如下手动调用 onBackPressed,但收到空指针异常。

MainActivity obj;

public boolean dispatchKeyEvent(KeyEvent event) {
obj = new MainActivity();
int keyCode = event.getKeyCode();
if (keyCode == KeyEvent.KEYCODE_BACK) {
System.out.println(obj);
obj.onBackPressed();
}
return super.dispatchKeyEvent(event);
}

在我的主要 Activity 中,我的 fragment 交易如下:

            transaction = getSupportFragmentManager().beginTransaction();
transaction.replace(R.id.fragment_container, newFragment);
transaction.addToBackStack(null);
transaction.commit();

处理后退按钮以涉及反转 fragment 事务和 MediaController 的最佳方式是什么?

谢谢

最佳答案

重写fragment的这个方法获取activity对象的引用

MainActivity obj;
@Override
public void onAttach(Context context) {
super.onAttach(context);
obj = (MainActivity) obj;
}

删除 dispatchKeyEvent() 中的对象创建。

关于android - 如何使用媒体 Controller 上的后退按钮反转 fragment 事务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34371089/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com