gpt4 book ai didi

java - 如何修复 Android 中无法解析方法 'setContentView'

转载 作者:行者123 更新时间:2023-12-02 01:56:28 25 4
gpt4 key购买 nike

我正在尝试编写一个 Android 应用程序,除了一行(即“setContentView”)之外,所有内容似乎都可以工作

有没有办法可以替代上面的函数

这是有问题的代码,问题出在第18

public class HiraFragment extends Fragment{

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_hira,null);
}

WebView web;
ProgressBar progressBar;
ImageView logo;
ImageView bg;
TextView text;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

web = (WebView) getView().findViewById(R.id.webView);
progressBar = (ProgressBar) getView().findViewById(R.id.progressBar);
logo = (ImageView) getView().findViewById(R.id.logo);
bg = (ImageView) getView().findViewById(R.id.bg);
text = (TextView) getView().findViewById(R.id.text);
web.setWebViewClient(new hira());
web.loadUrl("http://example.com/");
web.getSettings().setJavaScriptEnabled(true);


}



public class hira extends WebViewClient {
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
progressBar.setVisibility(View.GONE);
logo.setVisibility(View.GONE);
bg.setVisibility(View.GONE);
text.setVisibility(View.GONE);
}



@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {

// TODO Auto-generated method stub
super.onPageStarted(view, url, favicon);
progressBar.setVisibility(View.VISIBLE);
logo.setVisibility(view.VISIBLE);
bg.setVisibility(view.VISIBLE);
text.setVisibility(view.VISIBLE);
}



}

}

应用程序要做的就是有一个底部导航栏并调出加载屏幕,然后在 WebView 中显示网页

有人可以帮忙吗?预先感谢您

最佳答案

您创建的类是一个 Fragment,而不是 Activity,但您的 onCreate 方法看起来像是从 Activity 复制的。 Fragment 中没有 setContentView 方法。

您可以在 onCreateView 中设置布局,并在 onActivityCreatedonCreateView 本身中设置其他内容。例如:

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

// To access the views, you need to prefix them with the rootView like this
web = (WebView) rootView.findViewById(R.id.webView);
progressBar = (ProgressBar) rootView.findViewById(R.id.progressBar);
logo = (ImageView) rootView.findViewById(R.id.logo);
bg = (ImageView) rootView.findViewById(R.id.bg);
text = (TextView) rootView.findViewById(R.id.text);

web.setWebViewClient(new hira());
web.loadUrl("http://example.com/");
web.getSettings().setJavaScriptEnabled(true);

return rootView;
}

查看 Fragments 的 Android 指南 here ,或者使用 Activity 来代替。

关于java - 如何修复 Android 中无法解析方法 'setContentView',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52227603/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com