Java 相对布局所有子项可单击

Java 相对布局所有子项可单击,java,android,Java,Android,这个问题问出来很傻,但我想知道它是如何工作的 我有一个Relative布局,其中有2个imageview,因为孩子有单独的clickListner实例。一个在另一个之上,具有相同的大小和属性 相互重叠。都有不同的图像。 问题是,当我单击一个图像时,两个ImageViewclick列表器都被调用 或者,如果我禁用单击ImageView顶部,下面的ImageView仍然可以工作,但我单击了上面的ImageView。情况如何?我收到了双方的回电 我只是想知道它是怎么工作的?不是代码,我没有任何问题为c

这个问题问出来很傻,但我想知道它是如何工作的

我有一个
Relative
布局,其中有2个
imageview
,因为孩子有单独的
clickListner
实例。一个在另一个之上,具有相同的大小和属性

相互重叠。都有不同的图像。 问题是,当我单击一个图像时,两个
ImageView
click列表器都被调用

或者,如果我禁用单击ImageView顶部,下面的ImageView仍然可以工作,但我单击了上面的ImageView。情况如何?我收到了双方的回电

我只是想知道它是怎么工作的?不是代码,我没有任何问题为
clickListners
编写代码,无论是一个工作还是两个都工作

<RelativeLayout

----
---
>
<ImageView
---
---<!--Child 1-->
<ImageView
---
---<!--Child 2-->



<RelativeLayout/>

摘自:
如果您只使用一个clicklistener,则可以执行以下操作:

View.OnClickListener myOnlyhandler = new View.OnClickListener() {
  public void onClick(View v) {
      switch(v.getId()) {
        case R.id.b1:
          // it was the first button
          break;
        case R.id.b2:
          // it was the second button
          break;
      }
  }
}

使用图像按钮

布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<ImageButton
    android:id="@+id/imageButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:contentDescription="@string/content"
    android:src="@drawable/ic_launcher" />

 </LinearLayout>

把这个给你的父布局 android:context=“Yourclasshere” 然后把这个给你的图像视图 android:onclick=“onclick”

然后实现点击式侦听器,或者像Vitly一样将方法设置为上面的make

,相关代码在哪里?
public class MainActivity extends Activity {

ImageButton imgButton;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    addButtonListener();
}

public void addButtonListener() {

    imgButton = (ImageButton) findViewById(R.id.imageButton);
    imgButton.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View view) {
           Toast.makeText(MainActivity.this,"ImageButton is working!", Toast.LENGTH_SHORT).show();
        }
    });
}
}