Android,一堆图像按钮

发布于 2024-11-26 01:32:38 字数 621 浏览 1 评论 0原文

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

我的 xml 中有一堆 imageButton,这是其中一个的外观:

<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 代码中)

或者我没有选择但必须单独做吗?

I am a learning via a book so please forgive this newbie question.

I have a bunch of imageButtons in my xml, here is how one of them looks:

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

and processing code:

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

    }

rather than have each button have its separate onClick code, is there anyway I can pass which button was clicked? for example button_clicked(1) and then button_clicked(2) instead of button_clicked1 like it is now (in the above example xml code)

or i have no choice but have to do it separately?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

や莫失莫忘 2024-12-03 01:32:38

有点 - 我喜欢做的就是让我的 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 语句。另外,我不在一个可以轻松查看我的 droid 引用的地方,因此可能有一个特定于 ImageButton 的 OnClickListener - 如果是这样,请在包含的 View 或 Activity 上实现它以合并处理程序...

希望这是有道理的 -快乐编码!

Kind of - what I like to do is make my View or Activity implement View.OnClickListener.

public class MyView extends ImageButton implements OnClickListener

Then during onCreate, I do something like:

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

then, in my onclick:

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

Of course, you can definitely get creative and toss the switch statement if any of your buttons should trigger the same event behavior. Also, I'm not in a place where I can easily view my droid references so there may be an OnClickListener specific to ImageButton - if so, implement that on your containing View or Activity to consolidate the handlers...

Hope that makes sense - happy coding!

B

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文