You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Android-Download/AppFrame/src/main/java/com/arialyy/frame/temp/AbsTempView.java

73 lines
1.7 KiB

package com.arialyy.frame.temp;
import android.content.Context;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.LinearLayout;
import androidx.annotation.NonNull;
import com.arialyy.frame.util.StringUtil;
import com.arialyy.frame.util.show.L;
/**
* Created by lyy on 2016/4/27.
* 抽象的填充类
*/
public abstract class AbsTempView extends LinearLayout implements ITempView {
private OnTempBtClickListener mBtListener;
private static String TAG;
protected int mType = ERROR;
public AbsTempView(Context context) {
this(context, null);
}
public AbsTempView(Context context, AttributeSet attrs) {
super(context, attrs);
initView(context);
}
private void initView(Context context) {
View view = LayoutInflater.from(context).inflate(setLayoutId(), this);
TAG = StringUtil.getClassName(this);
init();
}
protected abstract void init();
/**
* 如果界面有按钮,则需要对着按钮的点击事件进行监听
*/
public void setBtListener(@NonNull OnTempBtClickListener listener) {
mBtListener = listener;
}
protected abstract int setLayoutId();
/**
* 将按钮点击事件传递给TempView调用类
*
* @param type {@link ITempView}
*/
protected void onTempBtClick(View view, int type) {
if (mBtListener != null) {
mBtListener.onBtTempClick(view, type);
}
}
@Override
public void setType(int type) {
mType = type;
if (type == LOADING) {
onLoading();
return;
}
if (type == ERROR) {
onError();
} else if (type == DATA_NULL) {
onNull();
} else {
L.e(TAG, "类型错误");
}
}
}