-1

图片

好吧,当代码正确时我遇到了这个问题,但是它给了我红线错误!有谁能够帮我。

主.java

package com.example.sout;

import android.content.DialogInterface;
import android.graphics.drawable.AnimationDrawable;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.MotionEvent;
import android.view.View;
import
      ~
import android.widget.ImageView;

public class Main extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    ImageView iv = (ImageView) findViewById(R.id.img1);
    iv.setBackgroundResource (R.anim.animation);
                              ~~~~~~~~~~~~~~~~
    iv.setOnClickListener(new OnClickListener());
                              ~~~~~~~~~~~~~~~  ~
}

in(注意~上面的字符):

iv.setBackgroundResource (R.anim.animation);
iv.setOnClickListener(new OnClickListener());

setBackgroundResourcesetOnClickListener也是红色的。

4

2 回答 2

3

出现错误 iv.setBackgroundResource (R.anim.animation);是因为该方法将整数作为参数。因此将其更改为以下内容,

  iv.setBackgroundResource (R.drawable.image1); //image1 is a drawable which is inside your drawable folder.

第二个错误是因为您没有导入所需的包并且没有覆盖所需的方法。将其更改为以下内容,

iv.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                //do your task here
            }
        });

更改后按 ctrl+shift+p 导入所需的包。

于 2013-08-29T06:50:49.837 回答
2

有时,至少在 Eclipse 中,它会意识到存在错误并且不会放过它。但是,使用 Eclipse,您至少可以将光标放在一个标记上,它会解释问题是什么(或它认为是什么)。我会尝试将鼠标悬停在错误的行上,看看是否出现一个弹出框告诉你它的想法。

如果您确定它是错误的,我经常发现保存文件(或所有文件)可以修复它。有时在错误行上添加然后删除空格会修复它。

但是,我注意到您import的文件顶部有一个不完整的内容,这可能会阻止语法检查器正确分析源文件。

我的建议是先解决这个问题,然后尝试其他两个技巧(然后保存,如果这不起作用,请在错误行上编辑和撤消)。希望这会让它消失。

当然,您可能需要检查您的R.java文件,以确保该成员存在于某处。我以前被自己的拼写错误咬过。

于 2013-08-29T06:46:02.120 回答