【问题标题】:Remove a fragment on button click which is inside the fragment删除片段内的按钮单击片段
【发布时间】:2019-01-31 05:41:50
【问题描述】:

我在 mainActivity 中有一个相对布局和一个确定按钮。单击确定按钮后,将向此相对布局添加一个片段。此片段有一个取消按钮。我希望它在单击取消按钮时关闭该片段。

public class filter_Fragment extends Fragment {

Button cancel;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){

        View rootView=inflater.inflate(R.layout.fragment_filter_,container, false);

        cancel=(Button)rootView.findViewById(R.id.cancel);
        cancel.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v)
            {
            //Close fragment page. Return to mainActivity
         }
        });

  return rootView;
}

【问题讨论】:

  • 请贴一些代码。
  • 当我点击它时,片段内有一个取消按钮,我希望它关闭片段并返回主要活动。
  • 好的。也用你的代码更新你的问题。
  • 请尝试浏览此链接:- stackoverflow.com/questions/41127315/…
  • 谢谢。但它不起作用。我也尝试了以下代码... cancel.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Fragment fragment= getActivity().getSupportFragmentManager().findFragmentById(R.id.layoutchange); fragmentTransaction =getActivity().getSupportFragmentManager().beginTransaction(); fragmentTransaction.remove(fragment); fragmentTransaction.commit(); } });

标签: android fragment


【解决方案1】:

试试这个:

getFragmentManager().popBackStack();

【讨论】:

  • getSupportFragmentManager().popBackStack() 取决于您使用的 Fragment android.app.Fragmentandroid.supportv4.app.Fragment
  • 谢谢。但它不起作用。按钮点击没有变化
  • @stanwyck 你能把 MainActivity 的代码和你调用这个片段的片段贴出来吗?
【解决方案2】:

您最好在单击该片段中的关闭按钮时关闭片段包含的活动,如下所示

getActivity().finish();

【讨论】:

  • 谢谢。但这会关闭应用程序。我只需要关闭片段并在单击取消按钮时返回主要活动。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-22
  • 1970-01-01
  • 2018-02-18
  • 2014-07-28
  • 1970-01-01
相关资源
最近更新 更多