关于android popwindow输入框与返回键焦点冲突问题 -问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

关于android popwindow输入框与返回键焦点冲突问题

创建一个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() {

展开
收起
爵霸 2016-03-20 10:26:45 2199 0
1 条回答
写回答
取消 提交回答
  • 爵霸
    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();
     }
     });
    2019-07-17 19:08:51
    赞同 展开评论 打赏
问答排行榜
最热
最新
相关电子书
更多
Android组件化实现
立即下载
蚂蚁聚宝Android秒级编译—— Freeline
立即下载
Android插件化:从入门到放弃
立即下载