//LayoutInflater.java
public static LayoutInflater from(Context context) {//---(1)
LayoutInflater layoutInflater =
(LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);//--(2)
...
return layoutInflater;
}
//ContextThemeWrapper.java
@Override
public Object getSystemService(String name) {//--(2)
if (LAYOUT_INFLATER_SERVICE.equals(name)) {
if (mInflater == null) {
mInflater = LayoutInflater.from(getBaseContext()).cloneInContext(this);//--(1)
}
return mInflater;
}
return getBaseContext().getSystemService(name);
}
注意两个方法(1)来自(Context)和(2)getSystemService(String) 无限地互相呼唤我不明白它是如何工作的.. 我不认为它应该像这样工作。 我被卡住了。你能帮助我吗?我错过了什么吗?