WebActivity라는 viewPager에 대한 활동이 있습니다. viewPager는 WebView Fragment의 인스턴스를 사용합니다 (조각에 내부에 webview가 있음) .WebActivity의 제목을 " 로드 ... "를 viewPager 내부의 조각에서 웹보기를 표시하는 것은 loading.It 어떤 문제가 발생하지 않습니다하지만 내가 페이지를 통해 많이 이동하면 아래 그림과 같이 내가 로그와 충돌을 얻을 : 여기내 활동 제목을 조각으로 변경하면 충돌이 발생합니다.
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v4.app.FragmentActivity.setTitle(java.lang.CharSequence)' on a null object reference
at com.example.android.gametalks.Fragments.WebViewFragment$1.onPageFinished(WebViewFragment.java:91)
at com.android.webview.chromium.WebViewContentsClientAdapter.onPageFinished(WebViewContentsClientAdapter.java:199)
at org.chromium.android_webview.AwContentsClientCallbackHelper$MyHandler.handleMessage(AwContentsClientCallbackHelper.java:72)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:168)
at android.app.ActivityThread.main(ActivityThread.java:5885)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:797)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:687)
내 조각 (관련 부분) :
public class WebViewFragment extends Fragment {
WebView mWebView;
String currentUrl;
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
currentUrl = getArguments().getString("currentUrl");
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.webview_fragment, container, false);
return rootView;
}
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
getActivity().setTitle("Web View");
setRetainInstance(true);
mWebView = (WebView) view.findViewById(R.id.webvieww);
mWebView.setWebViewClient(new WebViewClient() {
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
Toast.makeText(getActivity(), description, Toast.LENGTH_SHORT).show();
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon)
{
getActivity().setTitle("Loading...");
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
getActivity().setTitle("Web View");
}
});
if (savedInstanceState == null)
{
mWebView.loadUrl(currentUrl);
}
}
line 91 is null ... 무엇이든간에, 의미가없는 것은 의미가 없습니다. – DroiDev
androidmanifest 파일을 넣을 수 있습니까? – diegoveloper