问题描述
我有一个 DialogView,它会在用户单击按钮时弹出,在这个 DialogView 中我有一个 RadioGroup。我想为我的 RadioGroup 设置一个监听器,但是我不禁想到每次我按下按钮来创建 DialogView 时我的 seTradioGroupOnClickListener
都会被调用,这对我来说似乎有点低效......是否可以将侦听器设置为在应用程序的整个生命周期中只调用一次?
这是我目前所拥有的并且有效
@Override
protected void showInputDialog() {
final AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this);
LayoutInflater inflater = this.getLayoutInflater();
final View dialogView = inflater.inflate(R.layout.adjective_input_layout,null);
dialogBuilder.setView(dialogView);
dialogBuilder.setTitle("Create new adjective flashcard");
AlertDialog dialog = dialogBuilder.create();
...
seTradioGroupOnClickListener(dialogView);
dialog.show();
}
private void seTradioGroupOnClickListener(View v) {
RadioGroup radioGroup = v.findViewById(R.id.adjective_translate_radio_group);
radioGroup.setonCheckedchangelistener((group,checkedId) -> {
switch (checkedId) {
case R.id.adjective_manual_translation:
//do stuff
break;
case R.id.adjective_eng_auto_translation:
//do some other stuff
break;
case R.id.adjective_swe_auto_translation:
// do some other other stuff
break;
}
});
}
或者在我的布局中为所有这三个项目设置一个 onClick 侦听器是否更好?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)