package in.mvpstarter.sample.ui.common; import android.annotation.TargetApi; import android.content.Context; import android.os.Build; import android.util.AttributeSet; import android.view.Gravity; import android.view.LayoutInflater; import android.widget.LinearLayout; import butterknife.ButterKnife; import butterknife.OnClick; import in.mvpstarter.sample.R; public class ErrorView extends LinearLayout { private ErrorListener mErrorListener; public ErrorView(Context context) { super(context); init(); } public ErrorView(Context context, AttributeSet attrs) { super(context, attrs); init(); } public ErrorView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); init(); } @TargetApi(Build.VERSION_CODES.LOLLIPOP) public ErrorView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { super(context, attrs, defStyleAttr, defStyleRes); init(); } private void init() { setOrientation(VERTICAL); setGravity(Gravity.CENTER); LayoutInflater.from(getContext()).inflate(R.layout.view_error, this); ButterKnife.bind(this); } @OnClick(R.id.button_reload) public void onReloadButtonClick() { if (mErrorListener != null) { mErrorListener.onReloadData(); } } public void setErrorListener(ErrorListener errorListener) { mErrorListener = errorListener; } public interface ErrorListener { void onReloadData(); } }