2016-03-15 112 views
0

好吧,当我试图从一个片段网页视图在我的活动,它下面没有works.My代码:如何在我的活动中从片段获取子视图?

WebView webView; 
webView = (WebView) getFragmentManager() 
       .findFragmentById(R.id.fragment_goods_details).getView() 
       .findViewById(R.id.goods_details); 

回答

0

基本上,这是一个坏主意。由于片段拥有自己的生命周期。 在你的活动中,你可以控制你的片段添加/替换它,但你不知道你的片段何时准备好进行操作。

比相反,你可以从Event Bus或RxAndroid支持可从活动ASYN分派事件到您的片段。在片段,那么你就可以安全地处理您的WebView

+0

OH!我的活动扩展了RoboFragmentActivity,并使用ViewPager处理我的片段。现在,我没有想法做到这一点。 –

+0

你想用你从该片段获得的'webView'来做什么? @SimbaLiu – toantran

+0

加载HTML5,让HTML5调用Android的 –

0
YourFragmentClass { 
    WebView webview; 
    public WebView getWebview(){ return webview;} 
} 

在你activtiy的动作/数据/状态:

Fragment f = getFragmentManager().findFragmentById(xxxx); 
if(f instanceOf YourFragmentClass) { 
    webView = (YourFragmentClass)f.getWebview(); 
} 
+0

它发布了一个NullPointerException,我的上帝 –

相关问题