R.id.field不再被认可

时间:2012-01-04 01:15:02

标签: android r.java-file

我在我的问题附近添加了一个标签更改侦听器编辑代码,一旦我完成了对R.id.edit_details_button的调用,就不再解析了。我认为我添加的全部代码都是

import android.content.res.Resources;
...
import android.widget.ImageView;
...
import android.widget.TabHost.OnTabChangeListener;
...
tabHost.setOnTabChangedListener(new OnTabChangeListener(){
            @Override
            public void onTabChanged(String tabId) {
                if("image".equals(tabId)) {
                    File file = getApplicationContext().getFileStreamPath("/sdcard/" + mPrefs.getInt("id", 0) + ".jpg");
                    if(file.exists()) {
                        ImageView imageView = (ImageView)findViewById(R.id.imageView);
                        imageView.setImageURI(Uri.fromFile(file));
                    } else {
                        ImageView image  = (ImageView) findViewById(R.id.imageView);
                        Resources res = getResources();
                        image.setImageDrawable(res.getDrawable(R.drawable.ic_launcher));
                    }
                }
            }});
...

我按Ctrl + Z'd直到它解除我的更改并修复了错误。我的重做队列不像我的撤销队列那么长,所以我不得不再次进行更改,然后关闭eclipse以希望它能解决问题。

在我的strings.xml中,我有<string name="edit_details_button">Edit details</string>,但我注意到在我的R.java文件中有一个字段定义了edit_menu_button,就像我在上一个项目中所做的那样。“修复项目属性”无法修复它

我尝试手动将R.java字段编辑为我需要的值,但是在手动编辑后它还原了。我尝试删除R.java并使用错误的文件名重新生成它。

1 个答案:

答案 0 :(得分:2)

不要手动编辑R.java或删除它 - 它可能会导致问题,而且正如您所知,它通常无法解决任何问题。

你试过'Project - &gt;清理......“?这将删除所有自动生成的文件并重新生成它们并重新构建项目。

此外,请检查所有代码文件,以查看是否有import android.R条目,或者实际上是import类的任何显式R。如果找到,请删除它们,然后“清理”