Android - 如果我不导入R则出错,如果我没有导入另一个错误?

时间:2010-07-22 13:32:51

标签: java android eclipse sdk

如果我不导入R,我会得到“id无法解析或不是字段”

(R.id.mainanim);

如果我导入R,则id错误消失,但我得到“main和mainanim无法解析或不是字段”。它们是我的.xml文件。

这是我的代码......也许有一个我没看到的错误?

 package com.example.carrottest2;

 import android.app.Activity;
 import android.graphics.drawable.AnimationDrawable;
 import android.os.Bundle;
 import android.widget.ImageView;
 import android.R;

public class Carrottest2 extends Activity {
/** Called when the activity is first created. */

AnimationDrawable mainanimation; 

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

     ImageView mainimage = (ImageView) findViewById(R.id.mainanim); 
     mainimage.setBackgroundResource(R.anim.mainanim); 
     mainanimation = (AnimationDrawable) mainimage.getBackground(); 

main.xml中:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>  
<TextView  
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:text="@string/hello"
/>
</LinearLayout>

Mainanim.xml:

<?xml version="1.0" encoding="UTF-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"     android:oneshot="false"> 
<item android:drawable="@drawable/carrotsmile" android:duration="2000" /> 
<item android:drawable="@drawable/carrotblink" android:duration="2000" /> 
</animation-list>    

2 个答案:

答案 0 :(得分:2)

Mainanim.xml是一个布局,而不是一个id。要在布局中执行动画,您需要使用ImageView将AnimationDrawable设置为背景。

答案 1 :(得分:0)

通常,当您遇到R问题时,您的某个XML布局文件中出现了问题。 R无法生成,因此在代码中对它的任何引用都会丢失错误。