【问题标题】:How to open/populate alert dialog box when Edittext gains focus android by disabling user keyboard当Edittext通过禁用用户键盘获得焦点android时如何打开/填充警报对话框
【发布时间】:2015-07-05 17:20:11
【问题描述】:

我创建了用于从位置列表中选择位置的警报框。下面是代码

location_ele.setOnClickListener(new View.OnClickListener() {
           @Override
           public void onClick(View view) {

               AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
               builder.setTitle("Select Location");
               CharSequence[] cs = locations.toArray(new CharSequence[locations.size()]);
               builder.setItems(cs, new DialogInterface.OnClickListener() {
                   @Override
                   public void onClick(DialogInterface dialog, int which) {
                       // the user clicked on colors[which]

                       location_ele.setText(locations.get(which));
                       location = locationsId.get(which).toString();
                   }
               });
                builder.show();
           }
       });

观察我用onClick Listener 实现的代码,它只适用于onClick,但也需要onFocus。我该怎么做??

您可以看到屏幕截图光标闪烁,AlertDialog 已填充,用户键盘也已填充。我只需要弹出窗口来选择限制用户手动输入文本。 datepicker 也发生了一些事情。

【问题讨论】:

    标签: android


    【解决方案1】:

    由于您没有从键盘输入任何内容,因此您要查找的小部件是 Spinner,而不是 EditText

    【讨论】:

    【解决方案2】:

    它会帮助你。

            editText.setClickable(true);
            editText.setKeyListener(null);
            editText.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Toast.makeText(MainActivity.this,"text",Toast.LENGTH_SHORT).show();
                    final CharSequence[] items = {
                            "Rajesh", "Mahesh", "Vijayakumar"
                    };
    
                    AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
                    //builder.setTitle("Make your selection");
                    builder.setItems(items, new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int item) {
                            Toast.makeText(MainActivity.this,"text1",Toast.LENGTH_SHORT).show();
    
                        }
                    });
                    AlertDialog alert = builder.create();
                    alert.show();
    
                }
            });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-05-20
      • 1970-01-01
      • 2023-04-03
      • 1970-01-01
      • 2019-09-13
      • 1970-01-01
      • 2019-09-05
      相关资源
      最近更新 更多