java - Android:许多按钮上的相同 OnClickListener
问题描述
我正在尝试在一个片段上的许多按钮上设置相同的 OnClickListener。
所以我试图让听众在课堂之上,比如
public class SigninUserInsurance extends Fragment {
Button.OnClickListener thisListener = new Button.OnClickListener(){
@Override
public void onClick(View v){
.....
}
}
但是,我想保存按钮的文本。(button.getText())。
但在 ... 部分,
因为 thisListener 没有女巫按钮,它只获取视图,
我不能调用 getText()。v.getText() 不存在。
例如,我在 ... 部分尝试了我的代码,如下所示,
preferenceEditor.putString("User Insurance", Button.getText());
preferenceEditor.commit();
activity.fragChanger(4);
在第一行,无法调用 Button.getText() 因为 thisListener 确实
没有按钮信息。
有没有办法不实现每个自己的听众每10~20个按钮?
解决方案
你可以像这样定义一个监听器对象:
View.OnClickListener thisListener = new View.OnClickListener() {
public void onClick(View v) {
Button button = (Button) v;
switch (v.getId()) {
case R.id.button1:
preferenceEditor.putString("User Insurance", button.getText());
preferenceEditor.commit();
activity.fragChanger(4);
break;
case R.id.button2:
//
break;
//...............
}
}
}
并将此侦听器设置为您的所有按钮:
button1.setOnClickListener(thisListener);
button2.setOnClickListener(thisListener);
..........................................
推荐阅读
- c - 有人可以帮助解释这个 C 算法在做什么吗?
- c# - 为tabcontrol中的每个tabitem添加多个datatable和tabitem.content
- python - 卸载旧python后无法从atom运行py文件
- forms - 如果表单未绑定,如何选择 MS Access 组合框中的第一项
- android - 从图库中重命名选定的图像
- python - 在 Kaggle 内核上使用 train_test_Split 方法时显示错误。帮助表示赞赏
- json - 带有可选登录/密码和使用 perl 发送命令的 Telnet
- discord.io - !sad 抛出错误:“TypeError:无法读取未定义的‘成员’的属性”
- regex - 替换文件中的文件路径字符串
- leaflet - 扩展/覆盖 Mapbox-gl 'baselayer' loadTile