package cn.mutils.app.ui; import android.content.Context; import android.util.AttributeSet; import android.view.LayoutInflater; import android.view.View; import android.widget.RelativeLayout; import cn.mutils.app.ui.core.IContentViewOwner; import cn.mutils.app.ui.core.IView; import cn.mutils.app.ui.core.IViewFinder; import cn.mutils.app.ui.core.UICore; /** * View of framework */ public class Viewer extends RelativeLayout implements IView, IViewFinder, IContentViewOwner { public Viewer(Context context) { super(context); init(context, null); } public Viewer(Context context, AttributeSet attrs) { super(context, attrs); init(context, attrs); } public Viewer(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); init(context, attrs); } protected void init(Context context, AttributeSet attrs) { UICore.injectContentView(this); } public void setContentView(View view) { this.removeAllViews(); this.addView(view); UICore.injectResources(this); UICore.injectEvents(this); } public void setContentView(int layoutResID) { this.removeAllViews(); LayoutInflater.from(getContext()).inflate(layoutResID, this); UICore.injectResources(this); UICore.injectEvents(this); } @Override public <T extends View> T findViewById(int id, Class<T> viewClass) { return UICore.findViewById(this, id, viewClass); } @Override public View toView() { return this; } }