Java webview==再次调用viewpager内的片段时为null

Java webview==再次调用viewpager内的片段时为null,java,android,android-fragments,webview,Java,Android,Android Fragments,Webview,我的viewpager有问题。我在viewpager中创建了2个片段,但当我再次调用时,我得到view==null paper_adater.java public class Paper_adapter extends FragmentStatePagerAdapter { Context context; public Paper_adapter(FragmentManager fm) { super(fm); // TODO Auto-generated construc

我的
viewpager
有问题。我在
viewpager
中创建了2个片段,但当我再次调用时,我得到
view==null

paper_adater.java

public class Paper_adapter extends FragmentStatePagerAdapter {
Context context;

public Paper_adapter(FragmentManager fm) {
    super(fm);
    // TODO Auto-generated constructor stub

}

@Override
public Fragment getItem(int arg0) {
    // TODO Auto-generated method stub
    switch (arg0) {
    case 0:
        return new Web_fragment();
    case 1:
        return new Table_fragment();
    default:
        return null;
    }
}

@Override
public int getCount() {
    // TODO Auto-generated method stub
    return 2;
}

@Override
public float getPageWidth(int position) {
    // TODO Auto-generated method stub
    return 0.95f;
}
public class Web_fragment extends Fragment {

public static final String URL = "file:///android_asset/chart/index.html";
private final String TAG = "WEB fragment";

private WebView webView;

@Override
public void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    View view = inflater.inflate(R.layout.webview_fragment, null);
    this.webView = (WebView) view.findViewById(R.id.webview);
//  webView.clearHistory();
//  webView.clearCache(true);
    webView.getSettings().setJavaScriptEnabled(true);
    webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
    webView.loadUrl(URL);
    return view;
}

public void setValue(Context context) {
    // webView = (WebView)getView().findViewById(R.id.webview);
    // webView.loadUrl("javascript:setValue()");
}

@Override
public void onResume() {
    // TODO Auto-generated method stub
    super.onResume();

}

@Override
public void onDestroyView() {
    // TODO Auto-generated method stub
    super.onDestroyView();
}

public Boolean draw(Context context, String data) {
    if (webView == null) {
    //  webView.loadUrl("javascript:setValue()");
        Toast.makeText(context, "webview null", Toast.LENGTH_SHORT)
        .show();
    } else {
        if (data == null) {
            webView = (WebView) getView().findViewById(R.id.webview);
            webView.loadUrl("javascript:setValue()");
            return false;
        } else {
            Toast.makeText(context, "data web :" + data, Toast.LENGTH_SHORT)
                    .show();
            webView.loadUrl("javascript:setValue()");
            return true;
        }
    }
    return false;
}
detail\u fragment.java

public class DetailFragment extends Fragment implements OnPageChangeListener {
public static final String TAG = "Detail fragment";
WebView webView;
ViewPager viewPaper;
Paper_adapter paper_adapter;
public static int currentPage;

@Override
public void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    Log.e(TAG, "on create view");
    View view = inflater.inflate(R.layout.detail_fragment, null);
    viewPaper = (ViewPager) view.findViewById(R.id.pager);
    paper_adapter = new Paper_adapter(getChildFragmentManager());
    viewPaper.setAdapter(paper_adapter);
    viewPaper.setOnPageChangeListener(this);
    return view;
}

public void Draw(String data, int position) {
    FragmentManager fm = getFragmentManager();
    Fragment fr = paper_adapter.getItem(position);
    if (fr instanceof Web_fragment && fr != null) {
        ((Web_fragment) fr).draw(getActivity(),data);
    } else if (fr instanceof Table_fragment && fr != null) {

    }
}

}
Web_fragment.java

public class Paper_adapter extends FragmentStatePagerAdapter {
Context context;

public Paper_adapter(FragmentManager fm) {
    super(fm);
    // TODO Auto-generated constructor stub

}

@Override
public Fragment getItem(int arg0) {
    // TODO Auto-generated method stub
    switch (arg0) {
    case 0:
        return new Web_fragment();
    case 1:
        return new Table_fragment();
    default:
        return null;
    }
}

@Override
public int getCount() {
    // TODO Auto-generated method stub
    return 2;
}

@Override
public float getPageWidth(int position) {
    // TODO Auto-generated method stub
    return 0.95f;
}
public class Web_fragment extends Fragment {

public static final String URL = "file:///android_asset/chart/index.html";
private final String TAG = "WEB fragment";

private WebView webView;

@Override
public void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    View view = inflater.inflate(R.layout.webview_fragment, null);
    this.webView = (WebView) view.findViewById(R.id.webview);
//  webView.clearHistory();
//  webView.clearCache(true);
    webView.getSettings().setJavaScriptEnabled(true);
    webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
    webView.loadUrl(URL);
    return view;
}

public void setValue(Context context) {
    // webView = (WebView)getView().findViewById(R.id.webview);
    // webView.loadUrl("javascript:setValue()");
}

@Override
public void onResume() {
    // TODO Auto-generated method stub
    super.onResume();

}

@Override
public void onDestroyView() {
    // TODO Auto-generated method stub
    super.onDestroyView();
}

public Boolean draw(Context context, String data) {
    if (webView == null) {
    //  webView.loadUrl("javascript:setValue()");
        Toast.makeText(context, "webview null", Toast.LENGTH_SHORT)
        .show();
    } else {
        if (data == null) {
            webView = (WebView) getView().findViewById(R.id.webview);
            webView.loadUrl("javascript:setValue()");
            return false;
        } else {
            Toast.makeText(context, "data web :" + data, Toast.LENGTH_SHORT)
                    .show();
            webView.loadUrl("javascript:setValue()");
            return true;
        }
    }
    return false;
}

当我从
detail\u fragment
调用
Draw()。。。适配器的getItem实现每次。。。此片段未添加到任何片段管理器(它根本不启动其生命周期)。。。显然,这样的片段没有任何观点。。。即使不知道片段的生命周期,也应该很明显,它并没有视图。。。为什么?因为只调用了片段构造函数,而没有创建视图(onCreateView)的调用,所以如何创建它?请帮帮我。或者发送教程。谢谢。我做到了,谢谢。显然你不知道android的基础知识:fragment的生命周期。。。适配器的getItem实现每次。。。此片段未添加到任何片段管理器(它根本不启动其生命周期)。。。显然,这样的片段没有任何观点。。。即使不知道片段的生命周期,也应该很明显,它并没有视图。。。为什么?因为只调用了片段构造函数,而没有创建视图(onCreateView)的调用,所以如何创建它?请帮帮我。或者发送教程。谢谢,我做到了,谢谢。