我在一个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()
并覆盖新onClick()
中的View.OnClickerListener()
方法,但它也不起作用(完全相同的问题)。< / p>
有人知道可能是什么问题吗?
答案 0 :(得分:1)
清理并重建您的项目。
在处理资源时,很可能是ID构建/缓存问题。
答案 1 :(得分:1)
我尝试重现你的问题。我认为这与你设定的音阶有关。我用不同的比例和不同的背景尝试了你的代码,它的工作原理。尝试使用不同比例的图像。