2016-05-12 11 views
2

Ich möchte HTML-UI für meine Android-Anwendung (mit Android Studio). Ich habe ein Webview genommen und die HTML UI erfolgreich eingeschlossen, Jetzt kann ich die Ausgabe auch sehen. Aber in der HTML-Benutzeroberfläche gibt es eine Schaltfläche, für die ich onClick-Funktionalität schreiben möchte. Ich habe es versucht, aber ich bekomme keine Ausgabe. Bitte helfen Sie mir von hier aus. Dies ist mein HTML-UI-Code.Einschließlich HTML UI in Android

ALLE TAGS SIND RICHTIG GESCHLOSSEN. Ich will richtig Onclick Funktionalität schreiben hier

<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>. 

Ich habe auf Klick-Funktion geschrieben, wie ich oben gezeigt, Mein Code Javascript ist hier,

<script type = "text/javascript"> 
     function onEnglsihClick(englishToast) 
      { 
       Android.showToast(englishToast); 
      } 
     function onArabicClick(arabicToast) 
      { 
       Android.showArabicToast(arabicToast); 
      } 
     </script> 

Wenn ich auf Sprache Toast Englisch klicken muss erscheinen, in gleicher Weise auch für die arabische Sprache. Aber wenn ich auf Englisch oder Arabisch klicke, bekomme ich die Ausgabe nicht. Mein Android-Code ist hier,

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(); 
    } 
} 
} 

Alle Klammern und und TAGS richtig geschlossen. Bitte hilf mir.

+0

Sind Sie Cordova oder etwas mit? –

Antwort

1

Sie haben mit Anmerkungen versehen nicht Ihre Funktion für die Schnittstelle

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(); 
    } 
} 

Weitere Informatio finden Android Documentation

+0

Vielen Dank für Ihre großartige Hilfe ..... Ich habe Output ... noch einmal vielen Dank –