如果我不导入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>
答案 0 :(得分:2)
Mainanim.xml是一个布局,而不是一个id。要在布局中执行动画,您需要使用ImageView将AnimationDrawable设置为背景。
答案 1 :(得分:0)
通常,当您遇到R问题时,您的某个XML布局文件中出现了问题。 R无法生成,因此在代码中对它的任何引用都会丢失错误。