我遇到的错误在第18行和第19行。它无法识别id iv1但该id在我的main.xml文件中。也无法识别logo_animation,它是一个xml文件并拼写正确。有谁知道这是为什么?
package graphics.examples;
import android.app.Activity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.widget.ImageView;
import android.graphics.drawable.AnimationDrawable;
public class graphics extends Activity {
AnimationDrawable logoAnimation;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ImageView logoImage = (ImageView) findViewById(R.id.iv1);
logoImage.setBackgroundResource(R.drawable.logo_animation);
logoAnimation = (AnimationDrawable) logoImage.getBackground();
}
public boolean onTouchEvent(MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN){
logoAnimation.start();
return true;
}
else return super.onTouchEvent(event);
}
}
答案 0 :(得分:3)
它看起来不像你正在导入R.当你添加它时,请确保你导入你的R文件而不是android.R
答案 1 :(得分:0)
您的某些文件中是否包含无效的XML,或者您输错的ID是错误的?尝试删除xml文件中的highlited text / xml并再次插入它们然后重建项目。我在我的xml文件中添加了对于还没有存在的元素/ id的引用时遇到了这个问题,当我添加了缺少的元素/ id时,它仍然没有识别它。所以有时候日食是愚蠢的。
答案 2 :(得分:0)
这种情况有时会发生,因为项目没有构建,要么是因为您有错误,要么是因为您禁用了自动构建。只有在构建项目时才会创建R类。
但是查看你的代码似乎你错过了为你的项目导入R包。
它应该像import graphics.examples.R;
但是如果你正在使用eclipse,只需将鼠标移到R.id.iv1上,eclipse将显示可能的导入列表并选择你的包
答案 3 :(得分:0)
当我的一个资源文件(布局,可绘制,菜单)出错时,我遇到了这个问题。确保资源文件中没有使用任何字符串,并且未在string.xml中声明。我还必须删除我的R.java,当它被重新创建时,id已被识别。