有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

每次单击导航抽屉项时刷新java片段

我有导航抽屉的BaseActivity,我在其中使用片段管理器在片段布局中显示/隐藏片段,当单击每个导航抽屉项时,我想在每次单击导航项时刷新我的片段我尝试了两种方法,例如片段附加/分离,但都不起作用,有谁能帮我在每次点击导航项时刷新我的片段吗


共 (1) 个答案

  1. # 1 楼答案

    我想你可以通过这个导航抽屉回调广播一个更新操作:

    public boolean onNavigationItemSelected(MenuItem item) {
            Intent intent = new Intent(ACTION_UPDATE); // Just string constant
            getActivity().sendBroadcast(intent);
            return false;
    }
    

    然后在片段中注册接收者:

    @Override
    public void onAttach(Context context) {
        super.onAttach(context);
        getActivity().registerReceiver(updateReceiver, new IntentFilter(Consts.ACTION_KEYPAD_DISARMED));
    }
    
    @Override
    public void onDetach() {
        super.onDetach();
        getActivity().unregisterReceiver(updateReceiver);
    }
    
    private BroadcastReceiver updateReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            // Write here code of fragment updating
        }
    };