在Android中销毁当前Fragment界面。

我们知道,因为Android中Fragment是依附于实际的FragmentActivity的,所以Fragment无法像Activity那样调用finish()方法销毁自己。

但是,很多场合下,我们又需要把自己关闭掉。
同时,我们知道触摸返回键是可以关掉当前Fragment。

那就好办了:

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


  View view=  inflater.inflate(R.layout.scenes_main,null);

    mToolbar = (Toolbar)view.findViewById(R.id.toolbar);
    mToolbar.setTitle("");

    ( (AppCompatActivity)getActivity()).setSupportActionBar(mToolbar);

    mToolbar.setBackgroundResource(R.color.navigation);

    TextView tv = (TextView) mToolbar.findViewById(R.id.title_sub);
    tv.setText(R.string.sleep_scene);


    int white = getResources().getColor(R.color.white_80);

    tv.setTextColor(white);

    //返回按键

    Drawable upArrow = getContext().getDrawable(android.support.v7.appcompat.R.drawable.abc_ic_ab_back_material);
    upArrow.setColorFilter(white, PorterDuff.Mode.SRC_ATOP);
    ( (AppCompatActivity)getActivity()).getSupportActionBar().setHomeAsUpIndicator(upArrow);

    //关键下面两句话,设置了回退按钮,及点击事件的效果
    ( (AppCompatActivity)getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    mToolbar.setNavigationOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            getActivity().onBackPressed();//销毁自己
        }。
    });

    init(view);

   return  view;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值