的setContentView(R.layout.main); 错误

Pet*_* K. 8 java eclipse android

package com.elfapp;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends Activity implements OnClickListener {

    private Button btn_Login;
    private EditText et_UserName;

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        btn_Login = (Button) findViewById(R.id.button_login);
        btn_Login.setOnClickListener(this);

        et_UserName = (EditText) findViewById(R.id.editText_userName);
    }

    public void onClick(View v) {
        if (v.equals(btn_Login)) {
                // skriver ut en toast när man klickar på knappen
            Toast.makeText(MainActivity.this, "Ansluter till server...", Toast.LENGTH_SHORT).show();

                // används i debuggern för att påvisa att programmet exekverat hit
            Log.v("ThisApp", "onClick Successful");

                // TODO skickar det som står i et_UserName till controller (genom TCP/IP), som ska kolla om användaren finns
            // send et_UserName.getText().toString() to controller

                // if(username exists)
            Intent intent = new Intent(this, RoomActivity.class);
            this.startActivity(intent);
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

我在包含的行上收到错误setContentView(R.layout.main); 不确定错误/异常是什么,因为我不习惯在Eclipse中工作.

小智 15

这只是发生在我一分钟前,但经过一段时间的研究,并阅读这篇文章,我注意到了这一点.

有一个带有你app名称的自定义R类,所以当你尝试导入缺少的类时(在Eclipse中,按Ctrl + Shift + O导入缺少的类(Mac上的Cmd + Shift + O)),你应该看到两个posible正常分类:

import android.R;
Run Code Online (Sandbox Code Playgroud)

以及包含项目命名空间的自定义类:

import com.yourname.yourapp.R;
Run Code Online (Sandbox Code Playgroud)

如果您选择自定义类,问题就解决了!


nec*_*ixy 13

只需采取两个步骤,问题将更有可能得到解决:

第1步: 单击Project - > Clean清理项目.

第2步: 单击Project - > Build All重建项目.

还要确保您的布局xml文件没有语法错误,并且您没有任何具有不可接受名称的图像(例如图像名称之间的" - ").

另外,我请求您查看问题窗口,让我知道那里显示的错误.


小智 5

使用NetBeans 7.0:

如果在为项目生成R.java之前(在首次构建之前)修复导入,它将添加以下行:

import android.R;
Run Code Online (Sandbox Code Playgroud)

这将覆盖您尝试引用的本地R.java。

删除该行为我解决了错误。