在Android

时间:2016-05-12 05:30:22

标签: javascript android html

我想为我的Android应用程序包含HTML UI(使用android studio)。我已经采用了一个webview并成功包含了HTML UI,现在我也可以看到输出。但是在HTML UI中有一个按钮,我想在其上编写onClick功能。我试过但我没有得到输出。请从这里帮助我。 这是我的HTML用户界面代码。

所有标签均已正确关闭。我想在这里写一下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必须出现时,对于阿拉伯语也同样如此。但是当我点击英语或阿拉伯语时,我没有得到输出。我的安卓代码就在这里,

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正确关闭。请帮帮我。

1 个答案:

答案 0 :(得分:1)

您没有为界面

注释您的功能
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