应该以静态方式访问静态字段view.GONE吗?

时间:2010-12-30 05:06:25

标签: java android webview

我正在构建一个Android应用程序并且我有一个警告,但是没有引起任何问题,当我看到警告时,我想至少知道是什么导致它。该应用使用webview。

以下是导致警告的代码。

ImageView viewSplash;
WebView mWebView;
@Override
public void onCreate(Bundle icicle) {

    super.onCreate(icicle);
    setContentView(R.layout.main);

    viewSplash = (ImageView) findViewById(R.id.splash);
    mWebView = (WebView) findViewById(R.id.webview);
    mWebView.getSettings().setJavaScriptEnabled(true);
    mWebView.getSettings().setGeolocationEnabled(true);
    mWebView.loadUrl("http://www.google.com");
    mWebView.setWebViewClient(new WebViewtest(){
        @Override
        public void onPageFinished(WebView View, String url)
        {
            viewSplash.setVisibility(View.GONE);

                }
    });
}

这是错误:

应以静态方式访问静态字段View.GONE。

3 个答案:

答案 0 :(得分:9)

好吧,我可以看到一个可能相关的问题。您有一个大写的View作为参数名称(请参阅public void onPageFinished(WebView -> View <-, String url))。没有资本化。

编辑:问题是参数名称是错误的上限,并使用实例变量访问屏蔽了类访问,这就是您收到错误的原因。更好的解决方法是整理大写。

答案 1 :(得分:2)

好的,发布后我修好了警告......

我改变了这个:

viewSplash.setVisibility(View.GONE);

到此:

viewSplash.setVisibility(android.view.View.GONE);

答案 2 :(得分:1)

常量View.GONE或(在我的情况下)Context.NOTIFICATION_SERVICE是Context类中的常量,不能通过本地Context或View访问它们。所以错误是引用somethingorother.GONE而不是View.gone。