if I understand you correctly, you want to parse header.html and footer.html and put some content in between.
By using WebView.loaddata() you're telling the WebView to use a String as content, but that's not what you want.
It's easiert to make an index.html, add a header/footer div, bind/append the content from header.html/footer.html via Javascript/Jquery to those divs (jquery append external html file into my page) and use WebView.loadUrl() to load your new index.html from the assets:
public class MainActivity extends ActionBarActivity {
private WebView mWebView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mWebView = (WebView) findViewById(R.id.activity_main_webview);
WebSettings webSettings = mWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
String url =("file:///android_asset/index.html");
mWebView.loadUrl(url);
}
}