android - 无法为我的 webview 解析方法 'findViewById(int)'

标签 android webview

我遇到错误 cannot resolve method 'findViewById(int)' when 调用webview,如何解决这个问题? enter image description here 实际上这个 webview 是我的主页 fragment (程序的第一个 fragment )

package com.fb.jaisonjoseph.facebookbasic;

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



 /**
   * A simple {@link Fragment} subclass.
 */
public class Home_Fragment extends Fragment {

public WebView mwebView;
public Home_Fragment() {

    // Required empty public constructor
}



@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    // Inflate the layout for this fragment



    WebView view=(WebView) findViewById(R.id.webView);
    view.loadUrl("http://google.com");
    view.getSettings().setJavaScriptEnabled(true);
    view.setWebViewClient(new MyWebViewClient());




    return inflater.inflate(R.layout.fragment_home_, container, false);
}

}

最佳答案

问题

1.) 你每次都返回一个新 View

return inflater.inflate(R.layout.fragment_home_, container, false);

2.) 使用膨胀 View 来查找您的 View

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    View view =inflater.inflate(R.layout.fragment_home_, container, false);
    //   ^^^ will have all view of fragment_home_ layout

    WebView webView = (WebView) view.findViewById(R.id.webView);
    //                         ^^^^ use view to find your webview

    webView.loadUrl("http://google.com");
    webView.getSettings().setJavaScriptEnabled(true);
    webView.setWebViewClient(new MyWebViewClient());
    return view;
}

注意:您可以从 Home_fragmnet 类中删除您的 mwebView,但如果您想在其他方法中使用您的 webview,请使用 mwebView 而不是本地的WebView View 变量

 @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    View view =inflater.inflate(R.layout.fragment_home_, container, false);
    //   ^^^ will have all view of fragment_home_ layout

    mwebView = (WebView) view.findViewById(R.id.webView);
    //^^^ use global variable instead of creating a local one

    mwebView.loadUrl("http://google.com");
    mwebView.getSettings().setJavaScriptEnabled(true);
    mwebView.setWebViewClient(new MyWebViewClient());
    return view;
}

关于android - 无法为我的 webview 解析方法 'findViewById(int)',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41660655/

相关文章:

android - 将 APK 上传到 Play 商店,得到 0 个支持的设备但没有错误

javascript - 如何在 WebView 中扩展 JavaScript 控制台(以匹配 ConsoleMessage.MessageLevel)

java - AsyncTask 完成,但 Activity UI 未更新超过 20 秒

c# - 如何在 Windows 8.1 上捕获被发送回 webview (XAML/C#) 的 url

android - Xamarin Forms 将 WebView 内容获取为字符串

Android SDK 管理器 22.3 和 Google Cloud Messaging Service

android - android 的语音增强/降噪/降噪库

java - 根据 webView 中 URL 的当前值打开特定 Activity

javascript - 如何在webView的localStorage中设置值

android - Android 中的 WebView 不显示网页样式