问题描述
我在一个LinearLayout中有3个ImageButton,问题是单击时,“ @ id / yellow”调用第二个按钮函数,“ @ id / green”调用第三个按钮函数,而“ @ id / brown”调用它自己的按钮代替功能(应该怎么做)。
这是XML:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="horizontal">
<ImageButton
android:id="@+id/yellow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleX="4"
android:scaleY="2.5"
android:layout_marginLeft="13dp"
android:layout_weight="1"
android:onClick="yellowPotted"
android:background="@drawable/ball_yellow"/>
<ImageButton
android:id="@+id/green"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleX="4"
android:scaleY="2.5"
android:layout_marginLeft="13dp"
android:layout_weight="1"
android:onClick="greenPotted"
android:background="@drawable/ball_green"/>
<ImageButton
android:id="@+id/brown"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleX="4"
android:scaleY="2.5"
android:layout_marginLeft="13dp"
android:layout_weight="1"
android:onClick="brownPotted"
android:background="@drawable/ball_brown"/>
</LinearLayout>
这是我活动中的3个功能(我不知道它们是否有用):
public void yellowPotted(View view) {
Log.d("BALLS", "YELLOW");
}
public void greenPotted(View view) {
Log.d("BALLS", "GREEN");
}
public void brownPotted(View view) {
Log.d("BALLS", "BROWN");
}
我已经尝试在我的活动代码中直接使用setOnClickListener()
和在新的View.OnClickerListener()
重写onClick()
方法,但是它也不起作用(完全相同的问题)。
有人知道这可能是什么问题吗?
1楼
清理并重建您的项目。
在处理资源时,最有可能是ID的android构建/缓存问题。
2楼
我尝试重现您的问题。 我认为这与您设置的比例有关。 我尝试了不同规模和不同背景的代码,它可以正常工作。 尝试使用不同比例的图像。