Android ImageButton OnClick调用同一LinearLayout中的另一个函数

时间:2017-02-09 16:32:53

标签: android xml onclick onclicklistener imagebutton

我在一个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>

有人知道可能是什么问题吗?

2 个答案:

答案 0 :(得分:1)

清理并重建您的项目。

在处理资源时,很可能是ID构建/缓存问题。

答案 1 :(得分:1)

我尝试重现你的问题。我认为这与你设定的音阶有关。我用不同的比例和不同的背景尝试了你的代码,它的工作原理。尝试使用不同比例的图像。