【问题标题】:“main cannot be resolved or is not a field”“main 无法解析或不是字段”
【发布时间】:2014-01-21 17:16:03
【问题描述】:

我在下面的代码中有两个错误。

setContentView(R.layout.main); 

错误显示“main 无法解析或不是字段”。 Eclipse 中建议的解决方案是在layout 类型中创建字段main

webview = (WebView) findViewById(R.id.web_engine); 

错误显示“main 无法解析或不是字段”。 Eclipse 中建议的解决方案是在id 类型中创建web_engine

我尝试了建议的解决方案。在我的R.java 中,我在layout 类型中添加了main,在id 类型中添加了web_engine
但问题并没有解决。你知道我能做什么吗?

这是我的完整代码。

package com.sql.greekapp;

import android.app.Activity;
import android.os.Build;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.Window;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;

import com.sql.greekapp.R;

public class GreekNewsActivity extends Activity {
    WebView webview;

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        this.getWindow().requestFeature(Window.FEATURE_PROGRESS);
        setContentView(R.layout.main);    
        getWindow().setFeatureInt(  Window.FEATURE_PROGRESS, Window.PROGRESS_VISIBILITY_ON); 

        webview = (WebView) findViewById(R.id.web_engine); 
        webview.setWebViewClient(new HelloWebViewClient());
        webview.getSettings().setJavaScriptEnabled(true); 
        webview.getSettings().setPluginsEnabled(true);  
        if (Integer.parseInt(Build.VERSION.SDK) >= Build.VERSION_CODES.FROYO)
            webview.getSettings().setPluginState(WebSettings.PluginState.ON); 
        webview.getSettings().setAllowFileAccess(true);        
        webview.getSettings().setBuiltInZoomControls(true);         
        webview.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
        webview.loadUrl("http://192.168.10.250/remote"); 



       final Activity MyActivity = this;
       webview.setWebChromeClient(new WebChromeClient() {
       public void onProgressChanged(WebView view, int progress)   
       {
        MyActivity.setTitle("Φόρτωση...");
        MyActivity.setProgress(progress * 100); //svisimo


           if(progress == 100)
            MyActivity.setTitle(R.string.app_name);
         }
       });

    }

    private class HelloWebViewClient extends WebViewClient {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {          
                return false;            
        }    
    }

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if ((keyCode == KeyEvent.KEYCODE_BACK) && webview.canGoBack()) {
            webview.goBack();
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }    
}

【问题讨论】:

  • 请将这个问题翻译成英文,然后阅读Stackoverflow policy on languages
  • R.layout.main 你在那个布局中有一个“主”吗?
  • 删除这一行看看会发生什么...import com.sql.greekapp.R; - 你不应该导入R.java 类。
  • 您好,抱歉我更改了语言。
  • 我删除了导入但没有任何改变。你还有什么建议吗?我在 R.java 的布局中没有 main,但我稍后添加它并没有任何改变。

标签: android android-layout methods


【解决方案1】:

这听起来像是一个常见的问题。每次您进行更改时,都会自动重新生成 R.java 文件。唯一的问题是,在您保存文件和/或清理项目之前,更改不会生效。同时,您正在使用旧的东西。哦,如果你有其他错误。 R.java 根本不会重新生成,但您仍然会收到 R.Blah 消息。您可以删除 R.java 文件并观看,几秒钟后它会重新生成。所以是的,只需清理并保存您的项目。

【讨论】:

    猜你喜欢
    • 2022-01-09
    • 2014-03-27
    • 2014-01-05
    • 2016-05-20
    • 2016-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多