2016-04-21 18 views
0

私を助けてください。私は私のアプリにWebViewを配置したい。私は新しいプロジェクトを作る場合、それは正常に動作します。しかし、別のアプリに入れたいときにクラッシュします。WebViewでクラッシュするアプリケーション

含まMainactivity/Javaファイル/レイアウトファイル/ logcat

MainActivity

import android.app.FragmentManager; 
import android.os.Bundle; 
import android.support.design.widget.NavigationView; 
import android.support.v4.view.GravityCompat; 
import android.support.v4.widget.DrawerLayout; 
import android.support.v7.app.ActionBarDrawerToggle; 
import android.support.v7.app.AppCompatActivity; 
import android.support.v7.widget.Toolbar; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.webkit.WebSettings; 
import android.webkit.WebView; 
import android.webkit.WebViewClient; 

public class MainActivity extends AppCompatActivity 
    implements NavigationView.OnNavigationItemSelectedListener { 
private WebView mWebView; 

    @Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
     mWebView = (WebView) findViewById(R.id.webaanhoudingskaart); 
     WebSettings webSettings = mWebView.getSettings(); 
     webSettings.setJavaScriptEnabled(true); 
     // Force links and redirects to open in the WebView instead of in a browser 
     mWebView.setWebViewClient(new WebViewClient()); 
     Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 

    DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); 
    ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
      this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close); 
    drawer.setDrawerListener(toggle); 
    toggle.syncState(); 

    NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view); 
    navigationView.setNavigationItemSelectedListener(this); 

} 
@Override 
public void onBackPressed() { 
    DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); 
    if (drawer.isDrawerOpen(GravityCompat.START)) { 
     drawer.closeDrawer(GravityCompat.START); 
    } else { 
     super.onBackPressed(); 
    } 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.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 == R.id.action_settings) { 
     return true; 
    } 

    return super.onOptionsItemSelected(item); 
} 

@SuppressWarnings("StatementWithEmptyBody") 
@Override 
public boolean onNavigationItemSelected(MenuItem item) { 
    // Handle navigation view item clicks here. 
    int id = item.getItemId(); 
    FragmentManager fragmentManager = getFragmentManager(); 

    if (id == R.id.nav_algemeen_toestand) { 
     fragmentManager.beginTransaction() 
       .replace(R.id.content_frame 
       , new Algemeen_Toestand()) 
       .commit(); 
    } else if (id == R.id.nav_algemeen_opdracht) { 
     fragmentManager.beginTransaction() 
       .replace(R.id.content_frame 
         , new Algemeen_Opdracht()) 
       .commit(); 
    } else if (id == R.id.nav_algemeen_uitvoering) { 
     fragmentManager.beginTransaction() 
       .replace(R.id.content_frame 
         , new Algemeen_Uitvoering()) 
       .commit(); 
    } else if (id == R.id.nav_algemeen_verzoring) { 
     fragmentManager.beginTransaction() 
       .replace(R.id.content_frame 
         , new Algemeen_Verzorging()) 
       .commit(); 
    } else if (id == R.id.nav_algemeen_tunue) { 
     fragmentManager.beginTransaction() 
       .replace(R.id.content_frame 
         , new Algemeen_Tunue()) 
       .commit(); 
    } else if (id == R.id.nav_algemeen_bevelvoering) { 
     fragmentManager.beginTransaction() 
       .replace(R.id.content_frame 
         , new Algemeen_Bevelvoering()) 
       .commit(); 
    } else if (id == R.id.nav_algemeen_scenario) { 
     fragmentManager.beginTransaction() 
       .replace(R.id.content_frame 
         , new Algemeen_Scenario()) 
       .commit(); 
    } else if (id == R.id.nav_operationeel_wedstrijdinformatie) { 
     fragmentManager.beginTransaction() 
       .replace(R.id.content_frame 
         , new Operationeel_Wedstrijdinformatie()) 
       .commit(); 
    } else if (id == R.id.nav_operationeel_tijdsschema) { 
     fragmentManager.beginTransaction() 
       .replace(R.id.content_frame 
         , new Operationeel_Tijdsschema()) 
       .commit(); 
    } else if (id == R.id.nav_operationeel_indeling) { 
     fragmentManager.beginTransaction() 
       .replace(R.id.content_frame 
         , new Operationeel_Indeling()) 
       .commit(); 
    } else if (id == R.id.nav_operationeel_verbindingsschema) { 
     fragmentManager.beginTransaction() 
       .replace(R.id.content_frame 
         , new Operationeel_Verbindingsschema()) 
       .commit(); 
    } else if (id == R.id.nav_operationeel_stdaion) { 
     fragmentManager.beginTransaction() 
       .replace(R.id.content_frame 
         , new Operationeel_Stadion()) 
       .commit(); 
    } else if (id == R.id.nav_operationeel_positie) { 
     fragmentManager.beginTransaction() 
       .replace(R.id.content_frame 
         , new Operationeel_Positie()) 
       .commit(); 
    } else if (id == R.id.nav_operationeel_aanhoudingskaart) { 
     fragmentManager.beginTransaction() 
       .replace(R.id.content_frame 
         , new Operationeel_Aanhoudingskaart()) 
       .commit(); 
    } else if (id == R.id.nav_operationeel_stdionverboden) { 
     fragmentManager.beginTransaction() 
       .replace(R.id.content_frame 
         , new Operationeel_Stadionverboden()) 
       .commit(); 
    } 

    DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); 
    drawer.closeDrawer(GravityCompat.START); 
    return true; 
} 

のJava

package remco.politiewillemiiapp; 

import android.app.Fragment; 
import android.os.Bundle; 
import android.support.annotation.Nullable; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 





/** 
* Created by Remco on 6-4-2016. 
    */ 
public class Operationeel_Aanhoudingskaart extends Fragment { 
View myView; 

@Nullable 
@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    myView = inflater.inflate(R.layout.operationeel_aanhoudingskaart, container, false); 
    return myView; 

} 

レイアウト

<WebView 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:id="@+id/webaanhoudingskaart" /> 
</RelativeLayout> 

LogCat

04-21 21:27:41.151 29717-29717/? E/Zygote: v2 
04-21 21:27:41.151 29717-29717/? I/libpersona: KNOX_SDCARD checking this for 10375 
04-21 21:27:41.151 29717-29717/? I/libpersona: KNOX_SDCARD not a persona 
04-21 21:27:41.151 29717-29717/? I/SELinux: Function: selinux_compare_spd_ram, index[1], SPD-policy is existed. and_ver=SEPF_SM-G920F_5.1.1 ver=38 
04-21 21:27:41.151 29717-29717/? W/SELinux: Function: selinux_compare_spd_ram, index[1], priority [2], priority version is VE=SEPF_SECMOBILE_6.0.1_0004 
04-21 21:27:41.151 29717-29717/? E/Zygote: accessInfo : 0 
04-21 21:27:41.151 29717-29717/? W/SELinux: SELinux: seapp_context_lookup: seinfo=default, level=s0:c512,c768, pkgname=remco.politiewillemiiapp 
04-21 21:27:41.151 29717-29717/? I/art: Late-enabling -Xcheck:jni 
04-21 21:27:41.181 29717-29717/? D/TimaKeyStoreProvider: TimaSignature is unavailable 
04-21 21:27:41.181 29717-29717/? D/ActivityThread: Added TimaKeyStore provider 
04-21 21:27:41.221 29717-29717/remco.politiewillemiiapp W/ResourcesManager: getTopLevelResources: /data/app/remco.politiewillemiiapp-2/base.apk/1.0 running in remco.politiewillemiiapp rsrc of package remco.politiewillemiiapp 
04-21 21:27:41.221 29717-29717/remco.politiewillemiiapp I/InjectionManager: Inside getClassLibPath + mLibMap{0=, 1=} 
04-21 21:27:41.221 29717-29717/remco.politiewillemiiapp D/ResourcesManager: For user 0 new overlays fetched Null 
04-21 21:27:41.241 29717-29717/remco.politiewillemiiapp I/InjectionManager: Inside getClassLibPath caller 
04-21 21:27:41.241 29717-29717/remco.politiewillemiiapp W/System: ClassLoader referenced unknown path: /data/app/remco.politiewillemiiapp-2/lib/arm64 
04-21 21:27:41.241 29717-29717/remco.politiewillemiiapp D/InjectionManager: InjectionManager 
04-21 21:27:41.241 29717-29717/remco.politiewillemiiapp D/InjectionManager: fillFeatureStoreMap remco.politiewillemiiapp 
04-21 21:27:41.241 29717-29717/remco.politiewillemiiapp I/InjectionManager: Constructor remco.politiewillemiiapp, Feature store :{} 
04-21 21:27:41.241 29717-29717/remco.politiewillemiiapp I/InjectionManager: featureStore :{} 
04-21 21:27:41.251 29717-29717/remco.politiewillemiiapp W/ResourcesManager: getTopLevelResources: /data/app/remco.politiewillemiiapp-2/base.apk/1.0 running in remco.politiewillemiiapp rsrc of package remco.politiewillemiiapp 
04-21 21:27:41.251 29717-29717/remco.politiewillemiiapp W/ResourcesManager: getTopLevelResources: /data/app/remco.politiewillemiiapp-2/base.apk/1.0 running in remco.politiewillemiiapp rsrc of package remco.politiewillemiiapp 
04-21 21:27:41.321 29717-29717/remco.politiewillemiiapp D/AbsListView: Get MotionRecognitionManager 
04-21 21:27:41.321 29717-29717/remco.politiewillemiiapp E/MotionRecognitionManager: mSContextService = [email protected] 
04-21 21:27:41.321 29717-29717/remco.politiewillemiiapp E/MotionRecognitionManager: motionService = [email protected]ec7545a 
04-21 21:27:41.321 29717-29717/remco.politiewillemiiapp E/MotionRecognitionManager: motionService = [email protected]ec7545a 
04-21 21:27:41.821 29717-29717/remco.politiewillemiiapp D/skia: ---- fAsset->read(2769) returned 0 
04-21 21:27:41.831 29717-29717/remco.politiewillemiiapp D/AndroidRuntime: Shutting down VM 
04-21 21:27:41.831 29717-29717/remco.politiewillemiiapp E/AndroidRuntime: FATAL EXCEPTION: main 
                     Process: remco.politiewillemiiapp, PID: 29717 
                     java.lang.RuntimeException: Unable to start activity ComponentInfo{remco.politiewillemiiapp/remco.politiewillemiiapp.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.webkit.WebSettings android.webkit.WebView.getSettings()' on a null object reference 
                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3253) 
                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3349) 
                      at android.app.ActivityThread.access$1100(ActivityThread.java:221) 
                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1794) 
                      at android.os.Handler.dispatchMessage(Handler.java:102) 
                      at android.os.Looper.loop(Looper.java:158) 
                      at android.app.ActivityThread.main(ActivityThread.java:7224) 
                      at java.lang.reflect.Method.invoke(Native Method) 
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230) 
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120) 
                     Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.webkit.WebSettings android.webkit.WebView.getSettings()' on a null object reference 
                      at remco.politiewillemiiapp.MainActivity.onCreate(MainActivity.java:26) 
                      at android.app.Activity.performCreate(Activity.java:6876) 
                      at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1135) 
                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3206) 
                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3349)  
                      at android.app.ActivityThread.access$1100(ActivityThread.java:221)  
                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1794)  
                      at android.os.Handler.dispatchMessage(Handler.java:102)  
                      at android.os.Looper.loop(Looper.java:158)  
                      at android.app.ActivityThread.main(ActivityThread.java:7224)  
                      at java.lang.reflect.Method.invoke(Native Method)  
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)  
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)  

答えて

0

あなたのwebSettingを初期化していないので、そのは "nullオブジェクト参照" エラーを示します。初期化してプロジェクトを再実行してください。

WebSettings webSettings = new WebSettings(); 
関連する問題