处理主活动中自定义视图中的多个按钮

时间:2014-07-28 22:09:27

标签: java android

我不明白我如何能够从主要活动类访问自定义视图中的按钮。 我有两节课:

  1. MyActivity(活动)
  2. ButtonView(LinearLayout)
  3. ButtonView自定义类包含多个以编程方式添加的按钮

    addView(new Button(getContext()));
    

    现在我想为每个按钮处理onClickListener()方法,但是在MyActivity类中。 我有

    之类的东西
    ButtonView  = (ButtonView)findViewById(R.id.button_view);
    

    因此,当按下ButtonView中的按钮时,应在主活动类中调用特定方法。我不知道如何实现这一目标,有什么建议吗?

1 个答案:

答案 0 :(得分:0)

public interface ButtonListener {
          public void onButtonPressed(View v);

ButtonView Class

ButtonListener mListener;
public void setListener(ButtonListener listener) { mListener = listener; }

Button button = new Button(getContext());
button.setOnClickListener(  ..... if(mListener != null { mListener.onButtonPressed(v));
addView(button);

活动类

  public MainActivity extends Activity implements ButtonListener {

          ButtonView buttons = new ButtonView();
          buttons.setListener(this);
          public void onButtonPressed(View v) { //your code here to handle button pressed }


  }

基本上当您按下ButtonView类中的任何按钮时,它将使用监听器发送到按钮视图本身的活动。

希望它有所帮助。