创建一个popwindow 弹出一个页面 里面有输入框 如果输入框没有获取焦点点击系统返回键能监听到点击了返回按钮 但是输入框获取焦点后 就监听不到系统返回键了 请大神指教 贴一点核心代码
View popupWindow_view = getLayoutInflater().inflate(R.layout.mydialog_myprice, null, false);
popupWindow = new PopupWindow(popupWindow_view, LayoutParams.MATCH_PARENT,mScreenHight, true);
popupWindow.setFocusable(true);
popupWindow.setAnimationStyle(R.style.popupWindowAnimation);
popupWindow.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
//设置动画
WindowManager.LayoutParams params=DetailsPurchaseActivity.this.getWindow().getAttributes();
params.alpha=0.3f;
DetailsPurchaseActivity.this.getWindow().setAttributes(params);
//设置窗口焦点
//设置返回键能够监听事件
popupWindow_view.setFocusable(true);
popupWindow_view.setFocusableInTouchMode(true);
popupWindow_view.setOnKeyListener(new OnKeyListener() {
final AlertDialog dlg = new AlertDialog.Builder(context).create();
dlg.show();
Window window = dlg.getWindow();
window.setContentView(R.layout.dialog_alter_name);
window.setGravity(Gravity.CENTER);
editText = (EditText) window.findViewById(R.id.edit_name);
editTextNumber = (EditText) window.findViewById(R.id.edit_number);
editText.setText(datas.get(position).getName());
editTextNumber.setText(datas.get(position).getPhone());
Button ok = (Button) window.findViewById(R.id.ok);
Button cancle = (Button) window.findViewById(R.id.cancel);
ok.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (!editText.getText().toString().equals("")) {
datas.get(position).setName(editText.getText().toString());
if (!editTextNumber.getText().toString().equals("")) {
datas.get(position).setPhone(editTextNumber.getText().toString());
}
notifyDataSetChanged();
}
dlg.dismiss();
}
});
cancle.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dlg.dismiss();
}
});
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。