我有一个包含Fragment的Activity。这个片段包含EditText和button.I使用 setOnKeyListener for Edittext 。
fragmentEdittext.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if ((event.getAction() == KeyEvent.ACTION_DOWN)
&& (keyCode == KeyEvent.KEYCODE_BACK)) {
return true;
}
return false;
}
});
如果我单击片段中的一个Button,我将调用也包含一个EditText的DialogFragment。我也使用了 setOnKeyListener for this Edittext 。如果我按下DialogFragment中的后退按钮,我将调用dismiss()。我的问题是在DialogFragment驳回Fragment的Edittext Back事件后也被触发了。 当我按下DialogFragment的Editext中的Back Button时,如何防止Fragment的Editext Back Button触发。
dialogFragmentEdittext.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if ((event.getAction() == KeyEvent.ACTION_DOWN)
&& (keyCode == KeyEvent.KEYCODE_BACK)) {
dismiss();
return true;
}
return false;
}
});