ReduceFragmentDialog.java 3.07 KB
package com.naji.xiaotao.cookbook.dialog;

import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.DialogFragment;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.DisplayMetrics;
import android.util.TypedValue;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;
import android.widget.LinearLayout;
import android.widget.TextView;

import com.naji.xiaotao.R;
import com.naji.xiaotao.cookbook.adapter.ReduceAdapter;
import com.naji.xiaotao.cookbook.bean.CookbookDetailEntity;
import com.naji.xiaotao.cookbook.bean.ReduceBean;

import java.util.ArrayList;
import java.util.List;

public class ReduceFragmentDialog extends DialogFragment{

    private TextView cookName;
    private RecyclerView recyclerView;
    private List<ReduceBean> mDatas=new ArrayList<>();
    private ReduceAdapter rAdapter;
    private ReduceListener reduceListener;

    private int position;

    @Override
    public void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        position=getArguments().getInt("position");
        mDatas.addAll(getArguments().<ReduceBean>getParcelableArrayList("list"));
    }

    public void setListener(ReduceListener reduceListener){
        this.reduceListener=reduceListener;
    }

    public interface ReduceListener{
        void onAddSuccess(int position,ReduceBean bean);
        void onReduceSuccess(int position,ReduceBean bean);
    }

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        getDialog().requestWindowFeature(Window.FEATURE_NO_TITLE);
        View view=inflater.inflate(R.layout.dialog_reduce_layout,container);
        cookName=view.findViewById(R.id.cook_name);
        cookName.setText(getArguments().getString("cookname"));
        view.findViewById(R.id.close).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                dismiss();
            }
        });
        recyclerView=view.findViewById(R.id.recyclerview);
        recyclerView.setLayoutManager(new LinearLayoutManager(getContext(),LinearLayoutManager.VERTICAL,false));
        rAdapter=new ReduceAdapter(getContext(),mDatas,reduceListener,position,getArguments().getString("fromSource"),getArguments().getString("clear_num"));
        recyclerView.setAdapter(rAdapter);
        return view;
    }

    @Override
    public void onStart() {
        super.onStart();
        getDialog().setCanceledOnTouchOutside(false);
        Window window=getDialog().getWindow();
        WindowManager.LayoutParams lp=window.getAttributes();
        DisplayMetrics dm=new DisplayMetrics();
        window.getWindowManager().getDefaultDisplay().getMetrics(dm);
        window.setLayout((int) (dm.widthPixels*0.9),ViewGroup.LayoutParams.WRAP_CONTENT);
    }
}