Java Android错误中的R库

Java Android错误中的R库,java,android,eclipse,Java,Android,Eclipse,我一直在用这个 虽然到目前为止这是一次愉快的经历,但我遇到了我的第一个问题。我从链接中的源代码复制了所有代码,并将其粘贴到项目文件夹中,替换所有旧文件。在开始理解我粘贴的内容之前,我认为首先运行代码检查问题是合乎逻辑的。由于缺少R对象,项目无法运行。在导入Eclipse的问题解决方案后,出现了更多错误。我试着在网上和书里寻找答案,但都没有用。由于我的软件是最新的,我怀疑这是软件方面的问题。既然代码是在线的,我想这个问题会突然出现并得到解决 提前谢谢你的帮助。如需更多详细信息,请在评论中询问 Th

我一直在用这个

虽然到目前为止这是一次愉快的经历,但我遇到了我的第一个问题。我从链接中的源代码复制了所有代码,并将其粘贴到项目文件夹中,替换所有旧文件。在开始理解我粘贴的内容之前,我认为首先运行代码检查问题是合乎逻辑的。由于缺少R对象,项目无法运行。在导入Eclipse的问题解决方案后,出现了更多错误。我试着在网上和书里寻找答案,但都没有用。由于我的软件是最新的,我怀疑这是软件方面的问题。既然代码是在线的,我想这个问题会突然出现并得到解决

提前谢谢你的帮助。如需更多详细信息,请在评论中询问

The code:

    MainActivity.java

        package com.dummies.android.silentmodetoggle;

        import android.app.Activity;
        import android.graphics.drawable.Drawable;
        import android.media.AudioManager;
        import android.os.Bundle;
        import android.util.Log;
        import android.view.View;
        import android.widget.Button;
        import android.widget.ImageView;

        public class MainActivity extends Activity {

        private AudioManager mAudioManager; 
        private boolean mPhoneIsSilent;

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

            mAudioManager = (AudioManager)getSystemService(AUDIO_SERVICE);

            checkIfPhoneIsSilent(); 

            setButtonClickListener();

            Log.d("SilentModeApp", "This is a test");
        }    

        private void setButtonClickListener() {
         Button toggleButton = (Button)findViewById(R.id.toggleButton); 
         toggleButton.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                if (mPhoneIsSilent) {
                    // Change back to normal mode
                    mAudioManager
                            .setRingerMode(AudioManager.RINGER_MODE_NORMAL);
                    mPhoneIsSilent = false;
                } else {
                    // Change to silent mode
                    mAudioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT);
                    mPhoneIsSilent = true;
                }

                // Now toggle the UI again
                toggleUi();
            }
        }); 
       }

    /**
     * Checks to see if the phone is currently in silent mode. 
     */
    private void checkIfPhoneIsSilent() {
        int ringerMode = mAudioManager.getRingerMode();
        if (ringerMode == AudioManager.RINGER_MODE_SILENT) {
            mPhoneIsSilent = true;
        } else {
            mPhoneIsSilent = false;
        }

    }

    /**
     * Toggles the UI images from silent
     * to normal and vice versa.
     */
    private void toggleUi() {

        ImageView imageView = 
            (ImageView) findViewById(R.id.phone_icon);
        Drawable newPhoneImage;

        if (mPhoneIsSilent) {
            newPhoneImage = 
                getResources().getDrawable(R.drawable.phone_silent);

        } else {
            newPhoneImage = 
                getResources().getDrawable(R.drawable.phone_on);
        }

        imageView.setImageDrawable(newPhoneImage);
    }

    @Override
    protected void onResume() {
        super.onResume();
        checkIfPhoneIsSilent();
        toggleUi();
    };
}

尝试清理您的项目,这将重建您的R文件。如果文件树中仍然没有R文件,则xml布局文件中可能有一个错误。Eclipse可能不会告诉您这一点,因此请保持警惕,检查/res文件夹中的所有文件。此外,发生这种情况时,请不要导入R。

是否检查/res/values/string.xml中是否存在名为action\u settings的变量?如果不存在,请创建一个变量,然后使用项目->清除确保选中“自动生成”

如何清除它?我是java和应用程序开发新手,也是Eclipse新手。。。在顶部的“项目”选项卡中,该选项不起作用。main_activity.xml没有bug,而menu文件夹中的main.xml在android中有一个问题:title=@string/action_settings。它被描述为不可修改。你认为这两个错误有关系吗?确保你也删除了导入R。我试图导入项目,而不是粘贴它。那时候,干净的小费奏效了。