android-fragments 如何关闭片段?

yvt65v4c  于 2022-11-13  发布在  Android
关注(0)|答案(2)|浏览(297)

我在活动上有片段。片段有按钮。如果我点击按钮,片段必须关闭。我是怎么做到的?

public class ItemFragment extends Fragment{

    private ImageView btnApply;
    private ClickButton clickButton = new ClickButton();

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.item_info, container, false);
        btnApply = (ImageView) rootView.findViewById(R.id.btnSendItem);
        btnApply.setOnClickListener(clickButton);
        return rootView;
    }

    private class ClickButton implements View.OnClickListener {

        @Override
        public void onClick(View v) {
            if (R.id.btnSendItem == v.getId()) {
                Toast.makeText(getActivity(),"CLOSE",Toast.LENGTH_LONG).show();
                return;
            }
        }
    }
}
5q4ezhmt

5q4ezhmt1#

没有类似于 * 关闭片段 * 的东西,但是你可以从堆栈中移除片段。

getActivity().getFragmentManager().beginTransaction().remove(this).commit();
bq3bfh9z

bq3bfh9z2#

当这个片段的类型是androidx.fragment.app.Fragment时,这似乎是可行的:

getActivity().getFragmentManager().popBackStack();

这将从堆栈中弹出顶部的可见片段。

相关问题