我不明白我如何能够从主要活动类访问自定义视图中的按钮。 我有两节课:
ButtonView自定义类包含多个以编程方式添加的按钮
addView(new Button(getContext()));
现在我想为每个按钮处理onClickListener()方法,但是在MyActivity类中。 我有
之类的东西ButtonView = (ButtonView)findViewById(R.id.button_view);
因此,当按下ButtonView中的按钮时,应在主活动类中调用特定方法。我不知道如何实现这一目标,有什么建议吗?
答案 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类中的任何按钮时,它将使用监听器发送到按钮视图本身的活动。
希望它有所帮助。