gpt4 book ai didi

显示对话框 fragment 时未调用 Android dispatchKeyEvent

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:19:37 24 4
gpt4 key购买 nike

当我的对话框 fragment 是hide时,dispatchKeyEvent工作正常

@Override
public boolean dispatchKeyEvent(KeyEvent event) {

Toast.makeText(FragmentPlayer.this, "test: called", Toast.LENGTH_SHORT).show();

return super.dispatchKeyEvent(event);

}

但是当我的对话框 fragment 是show时,dispatchKeyEvent没有被调用

MyDialogFragment mFragment = new MyDialogFragment();
mFragment.show(getSupportFragmentManager(), "MyDialog");

为什么?

最佳答案

无需将 DialogFragment 代码更改为 Dialog,您可以这样做(以防万一)。使用 OnKeyListener 将解决您的问题。

public class BaseDialogFragment extends AppCompatDialogFragment {

@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
getDialog().setOnKeyListener(new DialogInterface.OnKeyListener() {
@Override
public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
/* Your logic, you get the KeyEvent*/
return false;
}
});
}

关于显示对话框 fragment 时未调用 Android dispatchKeyEvent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42353947/

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