0
public void clickImage(View v) {
        if (v.getId() == R.id.a_01_b) {
            Toast.makeText(this, "1", Toast.LENGTH_LONG).show();
        }
        else if (v.getId() == R.id.a_02_b) {
            Toast.makeText(this, "2", Toast.LENGTH_LONG).show();
        }
        else if (v.getId() == R.id.a_03_b) {
            Toast.makeText(this, "3", Toast.LENGTH_LONG).show();
        }
    }

我在 mainactivity.java 中这样写..

并且,在 XML 中。我在每个 ImageView 中都写了 android:onClick="clickImage" 。

但它在我在这里写的第一句话中犯了这样的错误。

Multiple markers at this line
- Syntax error on token ")", ; expected
- Syntax error on token "(", ; expected
- void is an invalid type for the variable clickImage

..这是什么错误?我必须做什么..?我认为代码中没有错误..

请给我解决方案..

PS我清理了 Project ,但它是一样的。

4

2 回答 2

0

您的 mainactivity.java 中有一些语法错误。也许您将 clickImage 方法放在另一个方法中。或者别的什么,如果没有看到完整的代码就不可能准确地说出来。

于 2013-02-16T08:06:18.647 回答
0

请注意clickImage(),使用 XML onClick,Android 将仅在当前 Activity 中查找 onClick 方法。如果您正在使用片段,请务必记住这一点,因为即使您使用片段添加 XML,Android 也不会onClick在用于添加 XML 的片段的 .java 文件中查找方法。

所以我们需要知道你是在使用 framents 还是多活动调用

编辑>

你的xml没有错误,你的java活动似乎有错误,因为我没有你的java,我会给你一个独立于你的xml的解决方案

ImageView im;
im = (ImageView)findViewById(R.id.a_01_b);
im.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                Toast.makeText(this, "1", Toast.LENGTH_LONG).show();
            }
        });

在你的 xml 中删除这个

android:onClick="clickImage"  

编辑 2

在你的java类的顶部放这个:

import android.view.View.OnClickListener;
import android.widget.ImageView;

在你的代码中这样做:

ImageView im;
im = (ImageView)findViewById(R.id.a_01_b);
im.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                Toast.makeText(YourActivityName.this, "1", Toast.LENGTH_LONG).show();
            }
        });

而不是YourActivityName把你的活动的名称

于 2013-02-16T07:49:17.120 回答