2014-06-06 2 views
0

customWebView.loadUrl에서 널 포인터 예외가 발생합니다. 내가 그 라인의 끝에 오류를 언급했다. 나는 이러한 오류를 해결하는 방법을 모르겠다.Null 포인터 LoadUrl에서 예외

스택 트레이스 :

E/AndroidRuntime(1353): FATAL EXCEPTION: main 
E/AndroidRuntime(1353): Process: com.gems.android, PID: 1353 
E/AndroidRuntime(1353): java.lang.NullPointerException 
E/AndroidRuntime(1353): at libcore.net.UriCodec.decode(UriCodec.java:153) 
E/AndroidRuntime(1353): at java.net.URLDecoder.decode(URLDecoder.java:45) 
E/AndroidRuntime(1353): at com.sit.fth.frgment.MagazineDetailFragment.onCreateView(MagazineDetailFragment.java:38) 
E/AndroidRuntime(1353): at android.support.v4.app.Fragment.performCreateView(Fragment.java:1500) 
E/AndroidRuntime(1353): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:927) 
E/AndroidRuntime(1353): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104) 
E/AndroidRuntime(1353): at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682) 
E/AndroidRuntime(1353): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1467) 
E/AndroidRuntime(1353): at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:472) 
E/AndroidRuntime(1353): at android.support.v4.app.FragmentStatePagerAdapter.finishUpdate(FragmentStatePagerAdapter.java:163) 
E/AndroidRuntime(1353): at android.support.v4.view.ViewPager.populate(ViewPager.java:1068) 
E/AndroidRuntime(1353): at android.support.v4.view.ViewPager.populate(ViewPager.java:914) 
E/AndroidRuntime(1353): at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1436) 
E/AndroidRuntime(1353): at android.view.View.measure(View.java:16497) 
E/AndroidRuntime(1353): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125) 
E/AndroidRuntime(1353): at android.widget.FrameLayout.onMeasure(FrameLayout.java:310) 
E/AndroidRuntime(1353): at android.view.View.measure(View.java:16497) 
E/AndroidRuntime(1353): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125) 
E/AndroidRuntime(1353): at com.android.internal.widget.ActionBarOverlayLayout.onMeasure(ActionBarOverlayLayout.java:327) 
E/AndroidRuntime(1353): at android.view.View.measure(View.java:16497) 
E/AndroidRuntime(1353): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125) 
E/AndroidRuntime(1353): at android.widget.FrameLayout.onMeasure(FrameLayout.java:310) 
E/AndroidRuntime(1353): at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2291) 
E/AndroidRuntime(1353): at android.view.View.measure(View.java:16497) 
E/AndroidRuntime(1353): at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:1916) 
E/AndroidRuntime(1353): at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1113) 
E/AndroidRuntime(1353): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1295) 
E/AndroidRuntime(1353): at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1000) 
E/AndroidRuntime(1353): at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5670) 
E/AndroidRuntime(1353): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:761) 
E/AndroidRuntime(1353): at android.view.Choreographer.doCallbacks(Choreographer.java:574) 
E/AndroidRuntime(1353): at android.view.Choreographer.doFrame(Choreographer.java:544) 
E/AndroidRuntime(1353): at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:747) 
E/AndroidRuntime(1353): at android.os.Handler.handleCallback(Handler.java:733) 
E/AndroidRuntime(1353): at android.os.Handler.dispatchMessage(Handler.java:95) 
E/AndroidRuntime(1353): at android.os.Looper.loop(Looper.java:136) 
E/AndroidRuntime(1353): at android.app.ActivityThread.main(ActivityThread.java:5017) 
E/AndroidRuntime(1353): at java.lang.reflect.Method.invokeNative(Native Method) 
E/AndroidRuntime(1353): at java.lang.reflect.Method.invoke(Method.java:515) 
E/AndroidRuntime(1353): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) 
E/AndroidRuntime(1353): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) 
E/AndroidRuntime(1353): at dalvik.system.NativeStart.main(Native Method) 

MagazinDetailFragment.java : 당신이 these.Thank를 해결하는 방법을 알고있는 경우

package com.sit.fth.frgment; 

import java.net.URLDecoder; 

import android.os.Bundle; 
//import android.util.Log; 
import android.view.LayoutInflater; 
import android.view.Menu; 
import android.view.MenuInflater; 
import android.view.MenuItem; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.view.ViewGroup; 
import android.widget.FrameLayout; 
import android.widget.TextView; 

import com.gems.android.R; 
import com.sit.fth.app.BaseFragment; 
import com.sit.fth.util.CustomWebView; 

public class MagazineDetailFragment extends BaseFragment{ 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
      Bundle savedInstanceState) { 

     this.setHasOptionsMenu(true); 

     String url=getArguments().getString("url"); 
     View view=inflater.inflate(R.layout.magzine_detail, null); 

     ((TextView) view.findViewById(R.id.header)).setText(getArguments().getString("title")); 

     CustomWebView customWebView=new CustomWebView(getActivity()); 
     FrameLayout frameLayout=(FrameLayout) view.findViewById(R.id.webmagzine); 
     frameLayout.addView(customWebView); 
     ////AppLog.v("URL---->", "URLMAG"+url); 

     customWebView.loadUrl("http://docs.google.com/gview?embedded=true&url="+URLDecoder.decode(url)); <----38th Line Error 


      view.findViewById(R.id.blog_back).setOnClickListener(new OnClickListener() { 

       @Override 
       public void onClick(View arg0) { 
        getActivity().onBackPressed(); 

       } 
      }); 

     return view; 
    } 
    @Override 
    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { 
     super.onCreateOptionsMenu(menu, inflater); 
     menu.clear(); 
     inflater.inflate(R.menu.main_menu, menu); 
    } 

    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     switch (item.getItemId()) { 
     case R.id.menuitem_back: 
      getActivity().onBackPressed(); 
      break; 

     default: 
      break; 
     } 

     return true; 
    } 

} 

누구든지 나를 도울 수 있습니다. 사실

+0

체크인을? 그 URL을 직접 추가하십시오 –

+0

@ SimplePlan 그럼 내가해야 할 일이 무엇입니까? – Steve

답변

1

여기에 null 값을 받고되지 않습니다

String url=getArguments().getString("url"); 

사용이 예외를 피하기 위해`URL`가 null 또는 not.Why 당신이 그것을 해독하는 당신의

if(url!=null){ 
customWebView.loadUrl("http://docs.google.com/gview?embedded=true&url="+URLDecoder.decode(url));} 
else{ 
Log.e("message","NULL value"); 
} 
+0

읽을 수없는 코드를 표시합니다. – Steve

+0

코드의 흐름을 검사하기 위해 중단 점을 사용하고 코드를 디버그합니다. –

+0

올바른 대답 인 것 같습니다. 내 오류를 해결했습니다. 감사합니다. – Steve