1

我正在使用sherlockFragment。
當我按下該片段上的按鈕調用來使用Intent啓動一個調用活動時,它導致錯誤,但Web仍然加載。當我關閉通話活動時,錯誤再次出現。
我試過替換最新的android.support.v4.jar,像this,但錯誤仍然相同。
我試着開始呼叫活動是這樣的:從SherlockFragment啓動ACTION_VIEW活動會導致NullPointerException

public class PlaceDetailsFragment extends SherlockFragment { 
     //blabla 
     public void browseWebPage(final String url){ 
      getSherlockActivity().startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(websiteUrl))); 
     } 
} 

而且這樣

public class PlaceDetailsFragment extends SherlockFragment { 
     //blabla 
    public void browseWebPage(final String url){ 
     Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(websiteUrl)); 
     startActivity(intent); 
    } 
} 

,但仍然得到了同樣的錯誤 logcat的

05-20 11:37:28.971: E/AndroidRuntime(1819): FATAL EXCEPTION: main 
05-20 11:37:28.971: E/AndroidRuntime(1819): java.lang.NullPointerException 
05-20 11:37:28.971: E/AndroidRuntime(1819):  at android.support.v4.app.FragmentManagerImpl.saveFragmentBasicState(FragmentManager.java:1576) 
05-20 11:37:28.971: E/AndroidRuntime(1819):  at android.support.v4.app.FragmentManagerImpl.saveAllState(FragmentManager.java:1617) 
05-20 11:37:28.971: E/AndroidRuntime(1819):  at android.support.v4.app.FragmentActivity.onSaveInstanceState(FragmentActivity.java:481) 
05-20 11:37:28.971: E/AndroidRuntime(1819):  at com.actionbarsherlock.app.SherlockFragmentActivity.onSaveInstanceState(SherlockFragmentActivity.java:127) 
05-20 11:37:28.971: E/AndroidRuntime(1819):  at android.app.Activity.performSaveInstanceState(Activity.java:1137) 
05-20 11:37:28.971: E/AndroidRuntime(1819):  at android.app.Instrumentation.callActivityOnSaveInstanceState(Instrumentation.java:1215) 
05-20 11:37:28.971: E/AndroidRuntime(1819):  at android.app.ActivityThread.performStopActivityInner(ActivityThread.java:2951) 
05-20 11:37:28.971: E/AndroidRuntime(1819):  at android.app.ActivityThread.handleStopActivity(ActivityThread.java:3010) 
05-20 11:37:28.971: E/AndroidRuntime(1819):  at android.app.ActivityThread.access$900(ActivityThread.java:130) 
05-20 11:37:28.971: E/AndroidRuntime(1819):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1222) 
05-20 11:37:28.971: E/AndroidRuntime(1819):  at android.os.Handler.dispatchMessage(Handler.java:99) 
05-20 11:37:28.971: E/AndroidRuntime(1819):  at android.os.Looper.loop(Looper.java:137) 
05-20 11:37:28.971: E/AndroidRuntime(1819):  at android.app.ActivityThread.main(ActivityThread.java:4745) 
05-20 11:37:28.971: E/AndroidRuntime(1819):  at java.lang.reflect.Method.invokeNative(Native Method) 
05-20 11:37:28.971: E/AndroidRuntime(1819):  at java.lang.reflect.Method.invoke(Method.java:511) 
05-20 11:37:28.971: E/AndroidRuntime(1819):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 
05-20 11:37:28.971: E/AndroidRuntime(1819):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
05-20 11:37:28.971: E/AndroidRuntime(1819):  at dalvik.system.NativeStart.main(Native Method) 

問題發生到ACTION_VIEW和ACTION_CALL要麼 任何解決方案來幫助我?

+1

看到這個http://stackoverflow.com/questions/8748064/starting-activity-from-fragment -causes-nullpointerexception –

+0

@Rstar感謝您的回覆,但我已經嘗試過。仍然得到錯誤 – Dolphin

回答

1

我找到了解決這個問題的方法。它由ViewIndicator或其他東西使用sherlockFragment引起。
來解決這個問題,就覆蓋所有片段的menthod到:

@Override 
public void onSaveInstanceState(Bundle outState) { 
    super.onSaveInstanceState(outState); 
    setUserVisibleHint(true); 
} 

溶液中發現here

+0

嘿...我有SherlockFragmentActivity時遇到同樣的事情。但是你上面的代碼沒有解決任何問題。 – gumuruh

相關問題