Android AlertDialog弹出框问题

萌灬主 2018-03-07 04:39:29


新手,当我点击“存放位置”时,显示(也就相当于再弹出自定义适配器(还要再弹出一个框)),可是注册了点击事件,没有用。AlertDialog 指定了XML布局样式。下面是点击一行数据,弹出一个框的部分代码,要实现上面所说的,要怎么改,怎么让它知道,我点击了"存放位置"的EditText控件.......谢谢

final View view1 = getLayoutInflater().inflate(R.layout.activity_storage_hth_dialog, null);
final EditText etSDSL = (EditText) view1.findViewById(R.id.HTH_SL);//入库数量
final EditText etSDSL2 = (EditText) view1.findViewById(R.id.HTH_CFWZ);//存放位置*/

String title = "请输入进库数量(当前可进库数量:" + (trayInStorager.getDHSL1() - trayInStorager.getRKSL1()) + " " + trayInStorager.getJLDW() + ")";

etSDSL.setText("" + (trayInStorager.getDHSL1() - trayInStorager.getRKSL1()));//入库框赋一个默认值
etSDSL2.setText(CFWZ);//存放位置框赋一个默认值

etSDSL.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL);
new AlertDialog.Builder(TrayBatchInStorageActivity.this).setTitle(title).setIcon(android.R.drawable.ic_dialog_info).setView(view1).
setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String tvSDSL = etSDSL.getText() + "";
if (!tvSDSL.isEmpty()) {
Double sdsl = Double.parseDouble(tvSDSL);
BigDecimal bigDecimal = new BigDecimal(sdsl);
sdsl = bigDecimal.setScale(4, 4).doubleValue();
if (sdsl <= (trayInStorager.getDHSL1() - trayInStorager.getRKSL1())) {
if (sdsl > 0) {
trayInStorager.setQRSL1(sdsl);
lockTIOSList.add(trayInStorager);
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(etSDSL.getWindowToken(), 0);
}
} else {
DefualtDialog.Dialog(TrayBatchInStorageActivity.this, "提示", "进库数量不能大于可进数量");
}
}
}
}).setNegativeButton("取消", null).show();
...全文
747 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
萌灬主 2018-03-12
  • 打赏
  • 举报
回复
4楼的回答是正确的,还真有这个方法........,谢谢大家的回答。
键盘舞者113 2018-03-10
  • 打赏
  • 举报
回复
et.setOnclickListener
Android小码家 2018-03-09
  • 打赏
  • 举报
回复
我理解的是 edittext 的焦点问题。应该是点两次才有效果对吧? 解决如下 editText.setFocusable(true); editText.requestFocus(); InputMethodManager imm = (InputMethodManager) context.getSystemService( Context.INPUT_METHOD_SERVICE); imm.showSoftInput(editText, InputMethodManager.SHOW_IMPLICIT);
small_technical 2018-03-08
  • 打赏
  • 举报
回复
对edittext进行焦点事件监听,有焦点就弹出来,没有就消失掉
jklwan 2018-03-08
  • 打赏
  • 举报
回复
自定义dialog,在oncreate中设置点击事件 大致代码

public class MyDialog extends Dialog {
   ......
@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        final View view1 = getLayoutInflater().inflate(R.layout.activity_storage_hth_dialog, null);
        setContentView(view1);
       // 设置点击事件
}

80,349

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧