这个问题非常愚蠢但要问出来,但我想知道它是如何运作的?
我有一个Relative
布局,其中2 ImageViews
作为Child,具有单独的clickListner
个实例。一个在另一个之上,具有相同的大小和属性。
互相重叠。两者都有不同的图像。
问题是,当我点击一张图像时,ImageView
点击列表工具都被调用。
或者,如果我禁用点击ImageView顶部,下面的ImageView仍在工作,我点击上面的图像视图虽然。我是如何从两者获得回调的。
我只是想知道它是如何工作的?不是代码,我在为clickListners
编写代码时没有任何问题,无论是一个工作还是两个。
<RelativeLayout
----
---
>
<ImageView
---
---<!--Child 1-->
<ImageView
---
---<!--Child 2-->
<RelativeLayout/>
答案 0 :(得分:0)
取自here: 如果你只使用一个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;
}
}
}
答案 1 :(得分:0)
使用 ImageButton
布局
<?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>
活动类
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();
}
});
}
}
答案 2 :(得分:0)
将此内容添加到父级布局中 机器人:上下文= “Yourclasshere” 然后将其提供给您的图像视图 机器人:的onclick = “点击”
然后实现on click侦听器或使方法像上面的Vitly A make