2016-03-15 96 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,我的上帝 –

相關問題