我有一个自定义类MyFloatingButton,它不继承任何内容。我想处理其中的onClick或onTouch事件。怎么做? 构造函数从活动中接收上下文,活动和视图:
public MyFloatingButton(Context context, RootActivity activity, View view) {
this.context = context;
this.activity = activity;
this.activityView = view;
getViews();
initCircleSelector();
}
private void getViews() {
floatingActionButton = (FloatingActionButton) activityView.findViewById(R.id.btn_publish);
circle_selector = (FrameLayout) activityView.findViewById(R.id.circle_selector);
selector_text = (LinearLayout) activityView.findViewById(R.id.selector_text_div);
shade_cover = (FrameLayout) activityView.findViewById(R.id.shade_cover);
}
我尝试在MyFloatingButton类中执行相同的操作,因为它是Activity。但这没用。
答案 0 :(得分:1)
一种实现方法是实现单击侦听器,然后将其设置为构造函数中的“视图”。
示例:
public MyFloatingButton implements View.OnClickListener {
public MyFloatingButton(Context context, RootActivity activity, View view) {
this.context = context;
this.activity = activity;
this.activityView = view;
getViews();
initCircleSelector();
activityView.setOnClickListener(this);
}
@Override
public void onClick(View v){
// handle click event
}
.....
}
对OnTouch进行相同操作
答案 1 :(得分:0)
您的自定义类应扩展类“ View”,以便可以访问方法onClick和onTouch
我认为最好扩展类"FloatingActionButton"
这些方法在View类中实现。因此,为了使您具有访问权限,您的课程必须继承View或我向您显示的任何内容。