package tellh.com.gitclub.presentation.widget;
import android.view.View;
import android.view.ViewStub;
import android.widget.FrameLayout;
import tellh.com.gitclub.R;
/**
* Created by tlh on 2016/9/10 :)
*/
public class ErrorViewHelper {
private FrameLayout flErrorView;
private ViewStub vsError;
public ErrorViewHelper(ViewStub vsError) {
this.vsError = vsError;
}
public void showErrorView(final View mainView, final OnReLoadCallback callback) {
mainView.setVisibility(View.INVISIBLE);
if (flErrorView != null) {
flErrorView.setVisibility(View.VISIBLE);
return;
}
View errorView = vsError.inflate();
flErrorView = (FrameLayout) errorView.findViewById(R.id.layout_error_view);
flErrorView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
hideErrorView(mainView);
if (callback != null)
callback.reload();
}
});
}
public void hideErrorView(final View mainView) {
flErrorView.setVisibility(View.INVISIBLE);
mainView.setVisibility(View.VISIBLE);
}
public boolean isShowing() {
return flErrorView != null && flErrorView.getVisibility() == View.VISIBLE;
}
public interface OnReLoadCallback {
void reload();
}
}