Ich versuche, eine Zurück-Schaltfläche in meiner Webview-App zu erstellen. Es soll Webhistory navigieren. Die App stürzt jedoch ab, wenn ich den Zurück-Button benutze.Nach oben Button Webview stürzt ab
public class MainActivity extends Activity {
private WebView mWebView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(amapps.com.uhss.R.layout.activity_main);
mWebView.setWebViewClient(new WvClient());
WebSettings webSettings = mWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
mWebView = (WebView) findViewById(R.id.activity_main_webview);
mWebView.loadUrl("http://uhsswordandshield.com/");
mWebView.getSettings().setSupportMultipleWindows(true);
}
@Override
public void onBackPressed() {
if (mWebView.canGoBack()) {
mWebView.goBack();
} else {
// Otherwise defer to system default behavior.
super.onBackPressed();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(amapps.com.uhss.R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == amapps.com.uhss.R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
private class WvClient extends WebViewClient{
}
}
Das ist meine XML-Datei
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingTop="16dp"
android:paddingBottom="16dp"
tools:context=".MainActivity"
>
<WebView
android:id="@+id/activity_main_webview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</RelativeLayout>
Dies ist der Fehler ich immer bin, wenn ich die app
EXCEPTION: main
Process: amapps.com.uhss, PID: 20498
java.lang.RuntimeException: Unable to start activity ComponentInfo{amapps.com.uhss/amapps.com.uhss.MainActivity}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2436)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2495)
at android.app.ActivityThread.access$900(ActivityThread.java:170)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1304)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:146)
at android.app.ActivityThread.main(ActivityThread.java:5635)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1291)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1107)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at amapps.com.uhss.MainActivity.onCreate(MainActivity.java:23)
at andr
starten Wenn jemand eine Abhilfe bitte posten könnte dies das wäre toll . Meine App funktioniert perfekt ohne die
private WebView mWebview
aber ich kann nicht ohne sie
onBackPressed()
Methode verwenden. Ich habe
den Code aus Android Studio Webseite wurde mitpublic class MainActivity extends Activity {
private WebView mWebView;
@Override
protected void onCreate(Bundle savedInstanceState) {
...
}
@Override
public void onBackPressed() {
if(mWebView.canGoBack()) {
mWebView.goBack();
} else {
super.onBackPressed();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
...
}
}
Ok, aber wie verwende ich die mWebView in meiner onBackPressed-Methode, wenn ich es in meiner oncreate-Methode deklariere. – Mike
Wenn Sie meinen Code bearbeiten oder eine funktionierende Version meines Codes mit der Zurück-Schaltfläche hochladen könnten, wäre das großartig, da ich keine Code-Beispiele finden kann, die für mich funktionieren. Vielen Dank! – Mike
Was stimmt nicht mit dem Code, den ich gerade gezeigt habe? Verstehst du, was ich getan habe? –