在android中将同一事件设置为多个组件的最佳方法是什么?

时间:2015-04-04 12:20:39

标签: android events button

我正在开发一款Android应用。屏幕上会有一个像时间表的视图。我想用多个按钮创建这个视图。例如:

  • | 08.30 | | 09.30 | | 10.30 |

  • | 11.30 | | 12.30 | | 13.30 |

  • | 14.30 | | 15.30 | | 16.30 |

用户将点击其中一个按钮,我将获得按钮的文字。我需要将相同的事件发送到按钮以获取文本。但是,将有超过20个按钮,我想这个过程对多个按钮没用。将相同事件设置为按钮的最佳和最简单方法是什么?我需要描述java方面的所有按钮吗?

1 个答案:

答案 0 :(得分:0)

方法1:

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

onclick()
 {
  func(Button.getText().toString());
 }

func(String s)
 {
 //do something
 }

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

方法2:

在xml中定义

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

和Java:

 func()
  {
    //Do something. 
  }

你不会在上面的方法中得到文字。

方法3:

实现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;
 ....
}