我正在尝试构建一个Android应用程序,但我遇到了同样的错误。 Android Studio找不到符号方法setContentView(int)和findViewById(int)。 这是代码:
public class NewsFragment extends Fragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_news);
WebView mainWebView = (WebView) findViewById(R.id.mainWebView);
WebSettings webSettings = mainWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
mainWebView.setWebViewClient(new MyCustomWebViewClient());
mainWebView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
mainWebView.loadUrl("http://www.google.com");
}
private class MyCustomWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
任何想法?
答案 0 :(得分:3)
您使用的是Fragment
,而不是Activity
。如果您想使用活动,请让您的班级实施Activity
而不是Fragment
。
如果你想使用Fragment,你应该在onCreateView中设置视图,如下所示:
private WebView mainWebView;
protected View onCreateView(LayoutInflater inflater, ViewGroup vg, Bundle data){
View view = inflate.inflate(R.layout.fragment_news,vg,false);
mainWebView = (WebView) view.findViewById(R.id.mainWebView);
return view;
}
答案 1 :(得分:1)
您正在展开Fragment
而setContentView
是一种不属于Fragment
的活动方法。您可以更改类以扩展Activity
或继续使用Fragment
并覆盖onCreateView
来扩充并返回fragment_news
的实例,并使用它来检索它包含的小部件