看一下webview自己的构造方法:
/** * Construct a new WebView with a Context object. * @param context A Context object used to access application assets. */ public WebView(Context context) { this(context, null); } /** * Construct a new WebView with layout parameters. * @param context A Context object used to access application assets. * @param attrs An AttributeSet passed to our parent. */ public WebView(Context context, AttributeSet attrs) { this(context, attrs, com.android.internal.R.attr.webViewStyle); } /** * Construct a new WebView with layout parameters and a default style. * @param context A Context object used to access application assets. * @param attrs An AttributeSet passed to our parent. * @param defStyle The default style resource ID. */ public WebView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); }
上面红色标记的地方就是关键所在,平时当我们自定义view的时候,可能会习惯把三个构造这样写:
public XxxView(Context context) { this(context, null); } public XxxView(Context context, AttributeSet attrs) { this(context, attrs, 0); } public XxxView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); init(); } private void init(){ ...... }
原文:http://www.cnblogs.com/richiewang/p/5276891.html