我正在学习android并且我创建了一个简单的应用程序,其中顶部导航菜单是在Android本机代码中,其余站点在Web视图中。
现在在主菜单上,有一个购物车和心愿单项目按钮。此菜单项应在其顶部显示一个数字,显示购物车和心愿单中的商品数量。
所以问题是当用户通过网络视图表单将产品添加到购物车时,它不会立即反映在原生菜单上。我该怎么做才能解决这个问题?
答案 0 :(得分:0)
当用户将产品添加到购物车时,您应该从JavaScript代码中调用Android方法来更新您的计数器(假设为TextView
)。
您应该可以在Activity
:
@JavascriptInterface
public void updateCounter(int count) {
yourTextView.setText(Integer.toString(count));
}
将您的Activity
注册为JavaScript界面:
// you could do this in onCreate()
yourWebView.addJavascriptInterface(this, "Android");
然后,您可以从JavaScript代码中调用updateCounter()
:
<script type="text/javascript">
// ...
// call this function whenever/wherever you would like to update your counter
function updateCounter(count) {
Android.updateCounter(count);
}
</script>
查看有关将JavaScript代码绑定到Android代码的this documentation。