2016-10-14 2 views
0

Я хочу объявить Webview во фрагмент. В то время как он работает нормально при добавлении в корень (frameRoot), он не работает при добавлении его к LinearLayout layoutCAndroid/add WebView не работает при добавлении его в LinearLayout

В XML:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:id="@+id/root" 
    tools:context="com.example.android.guernsyrestaurants.MenueFragment"> 

    <!-- TODO: Update blank fragment layout --> 
    <LinearLayout 
     android:orientation="vertical" 
     android:id="@+id/layoutC" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 
     <TextView 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:text="menue" /> 


    </LinearLayout> 


</FrameLayout> 

И код:

public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 
     // Inflate the layout for this fragment 
     View root = inflater.inflate(R.layout.fragment_menue,container,false); 
     FrameLayout frameRoot = (FrameLayout) root.findViewById(R.id.root); 
     LinearLayout layoutC = (LinearLayout) root.findViewById(R.id.layoutC); 

     WebView webView = new WebView(getActivity()); 

     webView.loadUrl("http://url/"); 
     webView.setLayoutParams(new LinearLayout.LayoutParams(
      root.getWidth(), 
      root.getHeight())); 

     // layoutC.addView(webView); 
     frameRoot.addView(webView); 

     return root; 
    } 

Любой идеи?

+0

Может быть, вы добавляете параметры с LinearLayout, попробуйте добавить общий макет Params, а не добавлять специальные для LinearLayout. или попытайтесь изменить их на FrameLayout.LayoutParams. Это может помочь. – MobileEvangelist

+0

Ваш 'TextView' занимает все пространство в' LinearLayout'. Нет места ни для чего другого. –

ответ

0

Вы можете установить высоту вашего TextView в match_parent и так он заполняет все пространство на экране. WebView добавлен в макет, но поскольку TextView заполняет весь экран, вы не можете видеть свой WebView. Попробуйте установить wrap_content для высоты вашего TextView.

0

Изменить

webView.setLayoutParams(new LinearLayout.LayoutParams(
      root.getWidth(), 
      root.getHeight())); 

в

webView.setLayoutParams(new LinearLayout.LayoutParams(
          FrameLayout.LayoutParams.WRAP_CONTENT, 
          FrameLayout.LayoutParams.WRAP_CONTENT)); 
Смежные вопросы