当前位置: 首页 > 面试题库 >

Android的一个OnClick方法有多个按钮?

施越彬
2023-03-14
问题内容

我在android中启动了程序,一次活动中有3个按钮。

我看到了一些示例代码,OnClick它们为所有按钮(即使它们执行完全不同的操作)分配了相同的事件,并且在方法Switch(id)情况下为案例…

有什么更好的方法?一种onClick方法和一种或多种切换方法,每个按钮一种?

谢谢。


问题答案:

如果要减少编码行,请使用View's OnClick() with switch statement;如果要单独处理所有单击(为便于理解和维护代码),请分别使用所有button's onClick().

更新:

如果在“活动”布局xml文件中声明了Buttons,则应android:onClick=""为所有按钮编写具有相同方法名称的属性,并在Activity中实现该方法。现在,您为所有按钮提供了一种方法,在该方法中,可以区分带有id的按钮。

例:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:orientation="vertical" >
    <Button android:id="@+id/button1"
            android:layout_width="wrap_content"
            android:onClick="buttonOnClick"
            android:layout_height="wrap_content"
            android:text="Hello, I am a Button 1" />
    <Button android:id="@+id/button2"
            android:layout_width="wrap_content"
            android:onClick="buttonOnClick"
            android:layout_height="wrap_content"
            android:text="Hello, I am a Button 2" />
    <Button android:id="@+id/button3"
            android:layout_width="wrap_content"
            android:onClick="buttonOnClick"
            android:layout_height="wrap_content"
            android:text="Hello, I am a Button 3" />
</LinearLayout>

现在在您的Activity实施中buttonOnClick

public void buttonOnClick(View view)
{
 switch(view.getId())
 {
  case R.id.button1:
  // Code for button 1 click
  break;

  case R.id.button2:
  // Code for button 2 click
  break;

  case R.id.button3:
  // Code for button 3 click
  break;
 }
}

或者,您可以对活动中动态添加的按钮应用相同的开关盒,例如,而不是buttonOnClick必须使用
实现的View的OnClickListerner onClick



 类似资料:
  • 这是我的问题: 我想在一个活动中实现两个按钮。一个是计算BMI,另一个是检查时间。我希望用户能在同一个活动中看到两个按钮,这也取决于他们想做什么。(这些功能不是同时工作的,而是分开的。另外,我在这两个活动中都实现了返回主页的按钮。) 在Android模拟器中,消息来自“应用程序继续停止”。 以下是主要活动。java文件: 谢谢! 这些消息是我按下导致应用程序停止的按钮后的stacktrace:

  • 我正在使用iSpeech的API用于TTS,在他们的示例android项目中,他们有两个带有两个OnClickListener的按钮,一个用于开始演讲,一个用于停止演讲。我想把它保持在一个按钮上,以便在android屏幕上有更多的空间,这样,如果语音停止,按下按钮就会开始,如果语音开始,按下按钮就会停止。 有很多类似的问题,答案表明最好保持一个监听器一个按钮,但我不太满意,因为这个问题是在多个监听

  • 当我运行它时,它有一个错误java.lang.NullPointerException。我能知道它是从哪里来的吗?

  • 问题内容: 我正在考虑构建一个非常大的Java类,Java类可以具有的方法数量是否有限制?它可以用于数百万种方法吗? 更新:是的,目的是制作“神”类。 问题答案: 根据Java类文件规范,限制为 65535 : 4.10 Java虚拟机的局限性 文件格式隐含了Java虚拟机的以下限制: 一个类或接口可以声明的方法的数量由该结构项的大小限制为65535 (第4.1节)。请注意,结构项的值不包括从超类

  • 是否允许在一个方法中使用多个@scheduled注释?

  • 本文向大家介绍JS实现一个按钮的方法,包括了JS实现一个按钮的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JS实现一个按钮的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的javascript程序设计有所帮助。