如何在androidx的片段中实现动作模式?

如何在androidx的片段中实现动作模式?,android,android-studio,android-fragments,androidx,android-actionmode,Android,Android Studio,Android Fragments,Androidx,Android Actionmode,我必须在片段中实现动作模式,但它在动作模式中获得nullpointer异常。我已经尝试了这么多,但没有得到任何结果,请帮助我,我是新的安卓系统。我也尝试过startActionMode,但没有尝试impact。我浪费了我的时间&搜索了很多代码,但没有找到任何解决方案。请帮帮我 public class GalleryFragment extends Fragment { private GalleryViewModel galleryViewModel; private Action

我必须在片段中实现动作模式,但它在动作模式中获得nullpointer异常。我已经尝试了这么多,但没有得到任何结果,请帮助我,我是新的安卓系统。我也尝试过startActionMode,但没有尝试impact。我浪费了我的时间&搜索了很多代码,但没有找到任何解决方案。请帮帮我

    public class GalleryFragment extends Fragment {

private GalleryViewModel galleryViewModel;

private ActionModeCallback actionModeCallback;
private ActionMode actionMode;

public View onCreateView(@NonNull LayoutInflater inflater,
                         ViewGroup container, Bundle savedInstanceState) {
    galleryViewModel =
            ViewModelProviders.of(this).get(GalleryViewModel.class);
    View root = inflater.inflate(R.layout.fragment_gallery, container, false);
    final TextView textView = root.findViewById(R.id.text_gallery);
    galleryViewModel.getText().observe(this, new Observer<String>() {
        @Override
        public void onChanged(@Nullable String s) {
            textView.setText(s);
        }
    });

    final Button btnLoad = root.findViewById(R.id.load);
    btnLoad.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            enableActionMode(1, true );
        }
    });

    return root;
}

public void  enableActionMode(int position, boolean bool) {

    int count = 4;
    if(actionMode == null) {
        actionMode = ((AppCompatActivity)getActivity()).startSupportActionMode(actionModeCallback);
    }

    if (count == 0) {
        actionMode.finish();
        actionMode = null;
    } else {

        actionMode.setTitle(String.valueOf(count));
        actionMode.invalidate();
    }
}

private class ActionModeCallback implements ActionMode.Callback {
    @Override
    public boolean onCreateActionMode(ActionMode mode, Menu menu) {
        mode.getMenuInflater().inflate(R.menu.actionbar_menu, menu);
        return true;
    }

    @Override
    public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
        // getSupportActionBar().hide();
        menu.findItem(R.id.action_delete).setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
        return false;
    }

    @Override
    public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
        Log.d("API123", ""+item.getItemId());
        switch (item.getItemId()) {
            case R.id.action_delete:
                // delete all the selected rows
                //mode.finish();
                return true;

            default:
                return false;
        }
    }

    @Override
    public void onDestroyActionMode(ActionMode mode) {
        //clear selections
        mode.finish();
        actionMode = null;
    }
    }
}   
公共类GalleryFragment扩展了片段{
专用GalleryViewModel GalleryViewModel;
私有ActionModeCallback ActionModeCallback;
私人行动模式;
公共视图onCreateView(@NonNull layoutiner充气机,
视图组容器,捆绑包savedInstanceState){
galleryViewModel=
ViewModelProviders.of(this.get)(GalleryViewModel.class);
视图根=充气机。充气(R.layout.fragment_gallery,container,false);
final TextView TextView=root.findviewbyd(R.id.text\u gallery);
galleryViewModel.getText().observe(这个,新的观察者(){
@凌驾
公共void onChanged(@Nullable String s){
textView.setText;
}
});
最终按钮btnLoad=root.findViewById(R.id.load);
btnLoad.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
enableActionMode(1,true);
}
});
返回根;
}
public void enableActionMode(整数位置,布尔布尔布尔值){
整数计数=4;
if(actionMode==null){
actionMode=((AppCompatActivity)getActivity()).startSupportActionMode(actionModeCallback);
}
如果(计数=0){
actionMode.finish();
actionMode=null;
}否则{
actionMode.setTitle(String.valueOf(count));
actionMode.invalidate();
}
}
私有类ActionModeCallback实现ActionMode.Callback{
@凌驾
公共布尔onCreateActionMode(ActionMode模式,菜单){
mode.getMenuInflater().充气(R.menu.actionbar\u菜单,菜单);
返回true;
}
@凌驾
公共布尔onPrepareActionMode(操作模式,菜单){
//getSupportActionBar().hide();
menu.findItem(R.id.action\u delete).setShowAsAction(MenuItem.SHOW\u AS\u action\u ALWAYS);
返回false;
}
@凌驾
公共布尔值onActionItemClicked(ActionMode模式,菜单项){
Log.d(“API123”,“item.getItemId());
开关(item.getItemId()){
案例R.id.行动\删除:
//删除所有选定的行
//mode.finish();
返回true;
违约:
返回false;
}
}
@凌驾
公共void onDestroyActionMode(ActionMode模式){
//清晰的选择
mode.finish();
actionMode=null;
}
}
}   
这是mycode,actionmode中的空指针。请帮帮我,我在浪费时间。正在搜索大量,未找到结果