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
..这个错误是什么?我必须做什么..? 我认为代码中没有错误..
请给我解决方案..
P.S。我清理了Project,但它也一样。
答案 0 :(得分:0)
注意使用XML onClick,Android将仅在当前的Activity中查找onClick方法clickImage()
。如果您正在使用片段,这一点很重要,因为即使您使用片段添加XML,Android也不会在用于添加XML的片段的.java文件中查找onClick
方法。
因此,我们需要知道您是使用分段还是多活动呼叫
你的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"
在你的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
列出您的活动名称
答案 1 :(得分:0)
mainactivity.java中存在一些语法错误。也许你将clickImage方法放在另一个方法中。或者别的什么,如果没有看到完整的代码,就无法准确地说出来。