WebView.addJavascriptInterface()のドキュメントによると、Java オブジェクトのパブリック メソッドのみが JavaScript からアクセスできます。つまり、Javascript 内から Java オブジェクトのクラス メンバー変数に値を割り当てることはできません。
http://developer.android.com/reference/android/webkit/WebView.html#addJavascriptInterface(java.lang.Object, java.lang.String)
例えば :
public class JavaScriptInterface {
public int x;
private int y;
public void setY(int value) {
y = value;
Log.d("JavaScriptInterface", "setY = " + y);
}
}
...
public void onCreate(Bundle b) {
super.onCreate(b);
...
WebView webView = (WebView) findViewById(R.id.webview);
webView.addJavascriptInterface(new JavaScriptInterface(), "Android");
webView.loadUrl(myHtmlFile);
}
myHtmlFileにある Javascript :
<script type="text/javascript">
Android.x = 10; // this will not work
Android.setY(1000); // this will work!
</script>