Android 为什么此ImageView的OnClick不起作用?

Android 为什么此ImageView的OnClick不起作用?,android,Android,我真的不知道为什么这不管用,我已经试了一整晚了。。当我点击时,ImageView应该减去分数。我也试着把它记录下来,但没有成功。。是不是因为我的动画干扰 这是我的全部XML <TextView android:id="@+id/timer1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Test" /> <TextVie

我真的不知道为什么这不管用,我已经试了一整晚了。。当我点击时,
ImageView
应该减去分数。我也试着把它记录下来,但没有成功。。是不是因为我的动画干扰

这是我的全部XML

<TextView
    android:id="@+id/timer1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="Test" />
<TextView
    android:id="@+id/score1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="Score:" />

<ImageView
    android:id="@+id/imgview1"
    android:layout_width="83dp"
    android:layout_height="131dp"
    android:clickable="true"  
    android:onClick="PeanutClick" 
    android:src="@drawable/lil_peanut"/>

编辑;发布的解决方案不起作用。我用整个XML和当前代码更新了代码

我不完全确定单击属性在XML上是如何工作的。但是您可以在Java文件中使用以下内容来完成它

public class GameView extends Activity implements OnClickListener{
   ImageView iv;
   // whatever else

   public void onCreate(...)
   {
       // ...
       iv = (ImageView) findViewById(R.id.imageView1);
       iv.setOnClickListener(this);
   }

   public void onClick(View v)
   {
       if (v.getId() == R.id.imageView1)
          PeanutClick();
   }
}
公共空间单击(查看){ 分数=分数-100; mScoreField.setText(“分数:+Score”); }
public方法应该包含一个View参数。

多亏了您的帮助,我才找到了它。
onClick
一直在工作,但只在图像的原始位置上工作

<ImageView
android:id="@+id/imgview1"
android:layout_width="83dp"
android:layout_height="131dp"
android:clickable="true"  
android:onClick="PeanutClick" 
android:src="@drawable/lil_peanut"/>


使用此XML,只能单击左上角。我通过将
android:layout\u width=“83dp”
更改为
android:layout\u width=“fill\u parent”

您在清单中的目标API版本?您的代码是否执行PeanutClick?如果在第一行(score=score-100)放置断点,它会被命中吗?gameviewLayout.xml是什么类型的布局?这是一个偶然的框架布局吗?在某些布局情况下,对象将被遮挡,而不是其所在区域的最前面部分。有些人通过在布局中将对象(本例中为您的ImageVew)进一步向下移动来解决此问题,因此它将位于其他冲突项之上。感谢各位的回复。我的目标是16岁。它不是在执行代码,它是一个线性布局。而且在实现这些函数之后,它仍然不会注册任何onclick事件。。。这是我的全部代码;aaaaaaaaaargh它让我抓狂汉克斯,这使它工作,但只在图像所在的原始位置。但至少onclick起作用了,谢谢!布局高度如何?是否也必须更改?如果更改布局高度以填充父级,则整个屏幕(水平和垂直)都将可以单击。 public void PeanutClick(View view) { score = score - 100; mScoreField.setText("Score: " + score); }
<ImageView
android:id="@+id/imgview1"
android:layout_width="83dp"
android:layout_height="131dp"
android:clickable="true"  
android:onClick="PeanutClick" 
android:src="@drawable/lil_peanut"/>