2011-09-09 45 views
0

我有很多这样的ImageViewsimageview的onClickHandler给予其ID为-1

<ImageView 
    android:src="@drawable/img23" 
    android:layout_height="fill_parent" 
    android:layout_width="fill_parent" 
    android:onClick="myClickHandler"> 

图像视图成功调用该方法

public void myClickHandler(View v) { 
    Log.i("V Class",""+v.getClass().toString()+" "+ 
      v.getHeight()+" X "+v.getWidth()+" "+v.getId()); 
} 
方法 “myClickHandler(视图V)”

虽然日志打印

09-09 12:48:10.401: INFO/V Class(17399): class android.widget.ImageView 59 X 59 -1 

在这里我得到了类名(ImageView的),高X宽,但不知何故 我不能够获得图像的标识点击....

回答

0

很显然,你没有给一个id你的视图。

<ImageView android:id="@+id/my_view_id" 
    android:src="@drawable/img23" 
    android:layout_height="fill_parent" 
    android:layout_width="fill_parent" 
    android:onClick="myClickHandler"> 
+0

基本上,我告诉OP。你认为这可能是问题吗?我对Android不是很有经验...... – Marco

+0

这就是问题所在。如果视图没有标识,'getId'返回-1。 –

1

在你的XML android:id没有定义:这可能导致该行为?

+0

善于观察....我会试着接受反正如果工作感谢.... –

+0

是它使我的问题,当我试图访问ID ... 其实我有这样的100S图像,我懒得给每个图像ID ...那时候我没有计划用这种方式... 还是谢谢.. –

0

尝试

<ImageView 
    android:id="@+id/img234" 
    android:src="@drawable/img23" 
    android:layout_height="fill_parent" 
    android:layout_width="fill_parent" 
    android:onClick="myClickHandler"> 
+0

基本上正是我告诉OP。你认为这可能是问题吗?我对Android不是很有经验...... – Marco