, ( WebView Fragment, , Activity), , . WebView, Activity WebView, .
, , :
public static boolean setContext(View v, Context ctx) {
try {
final Field contextField = View.class.getDeclaredField("mContext");
contextField.setAccessible(true);
contextField.set(v, ctx);
return (v.getContext() == ctx);
} catch (IllegalAccessException | NoSuchFieldException e) {
Log.e(TAG, String.valueOf(e), e);
return false;
}
}
mContext View true, . ( , YMMV) MutableContextWrapper. , WebView Activity Context, MutableContextWrapper. , , , WebView Context MutableContextWrapper, Context Activity. , - , :
MutableContextWrapper contextWrapper = new MutableContextWrapper(activity);
WebView webView = (WebView) LayoutInflater.from(contextWrapper)
.inflate(R.layout.your_webview_layout, theParent, false);
, Activity:
if (webView.getContext() instanceof MutableContextWrapper) {
((MutableContextWrapper) webView.getContext()).setBaseContext(newActivity);
}