Android,一堆图像按钮

时间:2011-07-25 16:59:23

标签: android onclick imagebutton

我是通过一本书学习的,所以请原谅这个新手问题。

我的xml中有一堆imageButtons,其中一个看起来如何:

<ImageButton android:src="@drawable/level1" android:layout_width="wrap_content" 
android:id="@+id/imageButton1" android:layout_height="wrap_content" 
android:onClick="button_clicked1"></ImageButton>

和处理代码:

public void button_clicked1(View v) {
    text1.setText("clicked");

    }

而不是让每个按钮都有其单独的onClick代码,无论如何我可以通过哪个按钮被点击?例如button_clicked(1)然后button_clicked(2)代替button_clicked1就像现在一样(在上面的示例xml代码中)

或我别无选择,只能单独进行?

1 个答案:

答案 0 :(得分:2)

有点 - 我喜欢做的是使我的View或Activity实现View.OnClickListener。

public class MyView extends ImageButton implements OnClickListener

然后在onCreate期间,我做了类似的事情:

((ImageButton)findViewById(R.id.imageButton1)).setOnClickListener(this);

然后,在我的onclick上:

public void onClick(View view){
 switch(view.getId()){
   case R.id.imageButton1:
      // do something.
      break;
   case R.id.imageButton2:
      // do somethign else.
      break;
 }

当然,如果您的任何按钮触发相同的事件行为,您绝对可以获得创意并抛出switch语句。此外,我不在我可以轻松查看我的机器人引用的地方,因此可能有一个特定于ImageButton的OnClickListener - 如果是这样,请在包含的View或Activity上实现它以合并处理程序......

希望有意义 - 快乐的编码!