I just upgraded to cordova 4.0 for android. I used the following post to load a cordova webview inside a fragment..
https://github.com/Adobe-Marketing-Cloud-Apps/app-sa
I had the same problem and I have resolved it as show below. In the first example, I embed a CordovaWebView inside an activity. Be careful with cordova 4.0 we can't include a CordovaWebView inside our layouts, so in previous cordova versions CordovaWebView extends WebView but since Cordova 4 this is an interface, so we have to include a org.apache.cordova.engine.SystemWebView. If you see the code you can see that you have to override the methods makeWebView() and createViews() that are called through super.init().
MainActivity.java
public class MainActivity extends CordovaActivity{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
super.init();
// Load your application
launchUrl = "file:///android_asset/www/index.html"
loadUrl(launchUrl);
}
@Override
protected CordovaWebView makeWebView() {
SystemWebView webView =SystemWebView)findViewById(R.id.cordovaWebView);
return new CordovaWebViewImpl(new SystemWebViewEngine(webView));
}
@Override
protected void createViews() {
appView.getView().requestFocusFromTouch();
}
}
activity_main.xml: