这里的Android初学者总数......
我有一个带有OnClick侦听器的Activity,如下例所示:Multiple Buttons `OnClickListener()` android
现在我在另一个活动中设置了一个关于Floating Action Button的监听器。我不确定的是,是否可以使用相同的听众,或者每个班级是否必须拥有它?
ACTIVITY #1 // a regular activity
public class Requests extends AppCompatActivity implements View.OnClickListener {...}
ACTIVITY #2 // A RecyclerView, CardView type activity
public static class MyViewHolder extends RecyclerView.ViewHolder {...}
我真的希望有一个侦听器来处理cardview点击事件,以及浮动操作按钮。
答案 0 :(得分:2)
通常,您可以对多个按钮使用相同的侦听器。如果它们处于不同的活动中,您可以编写一个实现View.OnClickListener的单独类。像这样:
public class MyButtonListener implements View.OnClickListener {
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.oneButton:
// do your code
break;
case R.id.twoButton:
// do your code
break;
case R.id.threeButton:
// do your code
break;// default method for handling onClick Events..
}
}
然后你必须设置你的按钮监听器,如button.setOnClicklistener(new MyOnClickListener());
如果你的按钮都在做同样的动作,你就不需要开关盒了。
创建一个单独的监听器类并不是一个坏主意但是:您应该尝试为每个活动实现一个,以便对按钮操作进行概述。
答案 1 :(得分:0)
您可以使用以下链接中提到的以下代码snipet
Handle click item in Recycleview
在onClick和onItemClick Override监听器中,您可以实现浮动操作按钮和位置明智的cardview点击事件
答案 2 :(得分:0)
对不同视图或viewGroup的click事件执行相同的操作,为OnClickListener实现一个匿名类
View.OnClickListener mOnClickListener= new View.OnClickListener() {
@Override public void onClick(View v) { /*do your code */ }};
或在您的活动中将其称为
mbutton.setOnClickListener(mOnClickListener);
mcardView.setOnClickListener(mOnClickListener);