Попробуйте: создайте основное занятие.
import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class MainActivity extends Activity {
private WebView webView;
private JavaScriptInterFace javaScriptInterFace;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webView=(WebView)findViewById(R.id.webView);
javaScriptInterFace=new JavaScriptInterFace(this);
webView.addJavascriptInterface(javaScriptInterFace, "AndroidFunction");
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl("file:///android_asset/test.html");
webView.setWebViewClient(new WebViewClient());
}
}
Создайте еще один Java-файл с именем JavaScriptInterFace
import android.content.Context;
import android.util.Log;
import android.widget.Toast;
public class JavaScriptInterFace {
Context mContext;
JavaScriptInterFace(Context c) {
mContext = c;
}
public int changeImage(){
Log.e("Got", "it"+2);
return 2;
}
public void showToast(){
Toast.makeText(mContext, "hi", Toast.LENGTH_SHORT).show();
}
}
созданный html-файл помещает этот файл в папку ресурсов проекта
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width; user-scalable=0;" />
<title>My HTML</title>
</head>
<body>
<p id="mytext">Hello!</p>
<img alt="show" src="ic_left_arrow.png" id="myImage"/>
</br>
<input type="button" value="Change" onClick="changeImage()" />
<input type="button" value="Show tost" onClick="showToast()" />
<script language="javascript">
function changeImage() {
i=AndroidFunction.changeImage();
if(i===2){
document.getElementById('mytext').innerHTML = i;
document.getElementById('myImage').src="ic_right_arrow.png";
}
}
function showToast() {
AndroidFunction.showToast();
}
</script>
</body>
</html>
Поместите необходимые изображения в папку ресурсов вашего проекта вместе с вышеуказанным html-файлом.