package com.example.administrator.cookman.ui.component.twinklingrefreshlayout.PeRefreshLayout;
import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.util.AttributeSet;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.RelativeLayout;
import com.example.administrator.cookman.R;
import com.example.administrator.cookman.ui.component.twinklingrefreshlayout.TwinklingRefreshLayout;
import com.example.administrator.cookman.ui.component.twinklingrefreshlayout.dataView.DataKnifeView;
/**
* Created by Administrator on 2017/3/17.
*/
public class PeRefreshLayout extends RelativeLayout {
private Context context;
private DataKnifeView dataKnifeView;
private TwinklingRefreshLayout twinklingRefreshLayout;
private RecyclerView recyclerView;
private PeRefreshLayoutListener peRefreshLayoutListener;
public PeRefreshLayout(Context context) {
this(context, null);
}
public PeRefreshLayout(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}
public PeRefreshLayout(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
initView(context);
}
private void initView(Context context){
this.context = context;
View view = LayoutInflater.from(context).inflate(R.layout.common_view_pe_refresh_layout, this);
dataKnifeView = (DataKnifeView)view.findViewById(R.id.view_data);
twinklingRefreshLayout = (TwinklingRefreshLayout)view.findViewById(R.id.refresh_layout);
recyclerView = (RecyclerView)view.findViewById(R.id.recyclerview_list);
dataKnifeView.setDataKnifeViewListener(new OnClickListener() {
@Override
public void onClick(View v){
setModeLoading();
if(peRefreshLayoutListener != null){
peRefreshLayoutListener.onPeRefreshLayoutClick();
}
}
});
}
public TwinklingRefreshLayout getTwinklingRefreshLayout() {
return twinklingRefreshLayout;
}
public RecyclerView getRecyclerView() {
return recyclerView;
}
public void setModeLoading(){
twinklingRefreshLayout.setVisibility(GONE);
dataKnifeView.setVisibility(VISIBLE);
dataKnifeView.setModeLoading();
}
public void setModeLoading(String msg){
twinklingRefreshLayout.setVisibility(GONE);
dataKnifeView.setVisibility(VISIBLE);
dataKnifeView.setModeLoading(msg);
}
public void setModeNetworkErr(){
twinklingRefreshLayout.setVisibility(GONE);
dataKnifeView.setVisibility(VISIBLE);
dataKnifeView.setModeNetworkErr();
}
public void setModeNetworkErr(String msg){
twinklingRefreshLayout.setVisibility(GONE);
dataKnifeView.setVisibility(VISIBLE);
dataKnifeView.setModeNetworkErr(msg);
}
public void setModeException(){
twinklingRefreshLayout.setVisibility(GONE);
dataKnifeView.setVisibility(VISIBLE);
dataKnifeView.setModeException();
}
public void setModeException(String msg){
twinklingRefreshLayout.setVisibility(GONE);
dataKnifeView.setVisibility(VISIBLE);
dataKnifeView.setModeException(msg);
}
public void setModeDataEmpty(){
twinklingRefreshLayout.setVisibility(GONE);
dataKnifeView.setVisibility(VISIBLE);
dataKnifeView.setModeDataEmpty();
}
public void setModeDataEmpty(String msg){
twinklingRefreshLayout.setVisibility(GONE);
dataKnifeView.setVisibility(VISIBLE);
dataKnifeView.setModeDataEmpty(msg);
}
public void setModeList(){
twinklingRefreshLayout.setVisibility(VISIBLE);
dataKnifeView.setVisibility(GONE);
}
public boolean isShowDataView(){
return dataKnifeView.isShown();
}
public void setPeRefreshLayoutListener(PeRefreshLayoutListener peRefreshLayoutListener){
this.peRefreshLayoutListener = peRefreshLayoutListener;
}
}