【问题标题】:What is the best way to set same event to multiple components in android?在android中为多个组件设置相同事件的最佳方法是什么?
【发布时间】:2015-04-04 12:20:39
【问题描述】:

我正在开发一个安卓应用。屏幕上会有一个类似时间表的视图。我想使用多个按钮创建这个视图。比如这样:

  • |08.30| |09.30| |10.30|

  • |11.30| |12.30| |13.30|

  • |14.30| |15.30| |16.30|

用户将单击其中一个按钮,我将获得按钮的文本。我需要对按钮进行相同的事件以获取它们的文本。但是,会有超过 20 个按钮,我想这个过程对于多个按钮来说并不是没用的。将相同事件设置为按钮的最佳和最简单的方法是什么?我需要描述java端的所有按钮吗?

【问题讨论】:

    标签: android events button


    【解决方案1】:

    方法一:

    创建一个函数并将按钮文本作为变量传递给它:

    onclick()
     {
      func(Button.getText().toString());
     }
    
    func(String s)
     {
     //do something
     }
    

    您必须在上述方法中覆盖每个按钮的 onClick。

    方法二:

    在xml中定义

    <Button>
     ...
      android:onClick ="func"
     ..
    </Button>
    

    在 Java 中:

     func()
      {
        //Do something. 
      }
    

    上面的方法你不会得到文本。

    方法三:

    实现 onClickListener:

    public class MainActivity extends Activity implements OnClickListener {
    
     ....
     public void onClick(View v) {
    // TODO Auto-generated method stub 
    switch (v.getId()) {
    case R.id.button1:
        func(button1.getText().toString());
        break; 
    case R.id.button2:
          func(..)
          break;
     ....
    } 
    

    【讨论】:

      猜你喜欢
      • 2015-07-31
      • 2019-12-02
      • 2020-05-27
      • 2023-03-25
      • 2020-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多