导航抽屉中的webview的findViewById问题

时间:2015-02-20 20:54:06

标签: java android xml android-fragments webview

我在setcontentview&中遇到了问题。 findviewbyid。当用户使用导航抽屉单击黑板按钮时,我正在尝试拉出一个网页。

fragment.java

import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.WebView;

public class BlackBoardFragment extends Fragment {

public BlackBoardFragment(){}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    View rootView = inflater.inflate(R.layout.fragment_blackboard, container, false);
    return rootView;
}


@Override
public View onCreate( Bundle savedInstanceState){

    WebView myWebView = (WebView) findViewById(R.id.webview);
    myWebView.loadUrl("http://www.example.com");
    return myWebView;
}
}

和xml文件:

<?xml version="1.0" encoding="utf-8"?>
<WebView  xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>

在过去的几天里,我一直坚持这一点。 在此先感谢!!!

-David

1 个答案:

答案 0 :(得分:1)

您的fragment_blackboard.xml必须包含Webview,请记住您在Fragment内:

<WebView  xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>

此方法必须返回Void!不是查看:

@Override
public View onCreate( Bundle savedInstanceState){

您的代码必须如下:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    View rootView = inflater.inflate(R.layout.fragment_blackboard, container, false);
  WebView myWebView = (WebView) rootView.findViewById(R.id.webview);
    myWebView.loadUrl("http://www.example.com");
    return rootView;
}

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
}

和你的布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 
   xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent"
   android:layout_height="match_parent"/>

   <WebView  
     android:id="@+id/webview"
     android:layout_width="fill_parent"
     android:layout_height="fill_parent"/>

</RelativeLayout>