R无法解析为变量

时间:2013-07-04 18:24:32

标签: android android-layout android-emulator

我是Android的新手。我正在开发一个简单的注册登录系统。在每个类中,每个R出现的错误都很多。错误是R无法解析为变量。我在这里发布一个类代码< / p>

这是我的代码

package com.UserAccounts;

import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

import android.widget.EditText;

import android.widget.Toast;

public class SignUPActivity extends Activity
{
    EditText editTextUserName,editTextPassword,editTextConfirmPassword;
    Button btnCreateAccount;

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

        // get Instance  of Database Adapter
        loginDataBaseAdapter=new LoginDataBaseAdapter(this);
        loginDataBaseAdapter=loginDataBaseAdapter.open();

        // Get Refferences of Views
        editTextUserName=(EditText)findViewById(R.id.editTextUserName);
        editTextPassword=(EditText)findViewById(R.id.editTextPassword);
        editTextConfirmPassword=(EditText)findViewById(R.id.editTextConfirmPassword);

        btnCreateAccount=(Button)findViewById(R.id.buttonCreateAccount);
        btnCreateAccount.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {
            // TODO Auto-generated method stub

            String userName=editTextUserName.getText().toString();
            String password=editTextPassword.getText().toString();
            String confirmPassword=editTextConfirmPassword.getText().toString();

            // check if any of the fields are vaccant
            if(userName.equals("")||password.equals("")||confirmPassword.equals(""))
            {
                    Toast.makeText(getApplicationContext(), "Field Vaccant", Toast.LENGTH_LONG).show();
                    return;
            }
            // check if both password matches
            if(!password.equals(confirmPassword))
            {
                Toast.makeText(getApplicationContext(), "Password does not match", Toast.LENGTH_LONG).show();
                return;
            }
            else
            {
                // Save the Data in Database
                loginDataBaseAdapter.insertEntry(userName, password);
                Toast.makeText(getApplicationContext(), "Account Successfully Created ", Toast.LENGTH_LONG).show();
            }
        }
    });
}
    @Override
    protected void onDestroy() {
        // TODO Auto-generated method stub
        super.onDestroy();

        loginDataBaseAdapter.close();
    }
}

5 个答案:

答案 0 :(得分:2)

如果您的类与清单中声明的​​应用程序包不同,则需要导入应用程序的R类。表格应为

import your_app_package_name_as_defined_in_the_manifest.R;

请注意,如果项目的任何资源文件中存在错误,则不会生成R.java文件,并且不存在R类。如果是这种情况,请解决资源文件错误,未定义的R类错误将消失。

答案 1 :(得分:1)

检查res文件夹中是否有错误,然后对项目进行清理(项目 - &gt;清理)

答案 2 :(得分:0)

您需要导入yourpackage.R然后错误将被解决...我认为这将是一些像导入com.UserAccounts.R

答案 3 :(得分:0)

首先我是&#34;导入your_app_package_name_as_defined_in_the_manifest.R;&#34;之后我按下Project - &gt;干净,干净。谢谢!

答案 4 :(得分:0)

将我自己的资源文件导入到我自己的包中是我想做的最后一件事。你不应该这样做 求助于这个IMO! (但是,之前我已经使用了这个!Hypocrite!)

我已多次遇到此问题,这是由与我的xml文件相关的不同内容引起的。

检查: *你在调用Inflator.inflate ... R.id.my_resource.xml的任何onCreatView()方法中都有拼写错误。

*看看&#39; Design&#39;布局编辑器中的选项卡。检查它们是否都指向相同的Android版本。像23等。

*在布局编辑器中,检查您正在使用的主题。

*有时您可能在xml中有一个Include标记,该标记并不指向要包含的另一个xml文件。

*继续关注xml和inflator,有时给定的布局似乎没有 问题,用红线表示。

*如果您仍然无法解决问题,请查看其他资源文件中的拼写错误和错误。

*您可能还需要运行&#39; clean&#39;每次你做出改变。

*休息一下,稍后再回来。