我想为我的 android 应用程序(使用 android studio)包含 HTML UI。我已经获取了一个 webview 并成功包含了 HTML UI,现在我也可以看到输出了。但是在 HTML UI 中有一个按钮,我想为其编写 onClick 功能。我试过了,但没有得到输出。请帮我离开这里。 这是我的 HTML UI 代码。
所有标签均已正确关闭。我想在这里编写 onclick 功能
<a href="#english_page" class="lang-selector-options-eng" onClick = "onEnglsihClick('English Clicked')" data-transition="fade" data-value="eng">English</a></li>
<li><a href="javascript:;" onClick="onArabicClick('arabic is clicked')">Arabic</a>.
如上所示,我已经编写了点击功能,我的 Javascript 代码在这里,
<script type = "text/javascript">
function onEnglsihClick(englishToast)
{
Android.showToast(englishToast);
}
function onArabicClick(arabicToast)
{
Android.showArabicToast(arabicToast);
}
</script>
当我点击英语 Toast 时,阿拉伯语也以同样的方式出现。但是当我点击英语或阿拉伯语时,我没有得到输出。我的android代码在这里,
public class MainActivity extends AppCompatActivity {
@SuppressLint("JavascriptInterface")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WebView webView = (WebView)findViewById(R.id.webView);
//enable JavaScript
webView.getSettings().setJavaScriptEnabled(true);
webView.addJavascriptInterface(new WebAppInterface(this) , "Android");
// webView.loadUrl("http://vebdesignprojects.com/pro/geo-punch/160506/vehicle-detail-report.html");
webView.loadUrl("file:///android_asset/html/map-screen.html");
}
public class WebAppInterface
{
Context mContext;
WebAppInterface(Context c)
{
mContext = c;
}
public void showToast(String toast)
{
Toast.makeText(MainActivity.this, toast, Toast.LENGTH_SHORT).show();
}
public void showArabicToast(String arabictoast)
{
Toast.makeText(MainActivity.this, arabictoast, Toast.LENGTH_SHORT).show();
}
}
}
所有大括号和 TAGS 正确闭合。请帮助我。
最佳答案
您还没有为接口(interface)注释函数
public class WebAppInterface
{
Context mContext;
WebAppInterface(Context c){
mContext = c;
}
@JavascriptInterface
public void showToast(String toast){
Toast.makeText(MainActivity.this, toast, Toast.LENGTH_SHORT).show();
}
@JavascriptInterface
public void showArabicToast(String arabictoast){
Toast.makeText(MainActivity.this, arabictoast, Toast.LENGTH_SHORT).show();
}
}
有关详细信息,请参阅 Android Documentation
关于javascript - 在 android 中包含 HTML UI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37178022/