【问题标题】:NumberPicker can't read keyboard's inputNumberPicker 无法读取键盘的输入
【发布时间】:2014-05-23 08:29:49
【问题描述】:

作为标题,我打开一个数字选择器并想输入一个数字。但无论我输入什么,数字选择器都没有变化。它应该输入一个数字并使用该值来设置金额,但我无法更改其值。如何正确使用?

这是我的代码:

private void loadAddBtnContent(){
        TextView add_to_cart = (TextView)view.findViewById(R.id.add_to_cart);
        if ( cart.checkInCart(pid) ){
            add_to_cart.setText("in Cart ("+cart.getProductAmount(pid)+")");
            add_to_cart.setOnClickListener(new OnClickListener(){               
                @Override
                public void onClick(View v) {                   
                    AlertDialog.Builder builder = new AlertDialog.Builder(pdActivity);
                    NumberPicker amountPicker = new NumberPicker(pdActivity);

                    builder.setView(amountPicker);
                    builder.setPositiveButton("Change", new addCartListener(amountPicker)).setNegativeButton("Cancel", null);
                    builder.show();
                }
            });
        } else {
            add_to_cart.setText("Add to cart");
            add_to_cart.setOnClickListener(new OnClickListener(){               
                @Override
                public void onClick(View v) {
                    AlertDialog.Builder builder = new AlertDialog.Builder(pdActivity);
                    NumberPicker amountPicker = new NumberPicker(pdActivity);
                    amountPicker.setMinValue(1);

                    builder.setView(amountPicker);
                    builder.setPositiveButton("Add", new addCartListener(amountPicker)).setNegativeButton("Cancel", null);
                    builder.show();
                }
            });
        }
    }

    private class addCartListener implements DialogInterface.OnClickListener{
        private NumberPicker amountPicker;

        public addCartListener(NumberPicker amountPicker){
            this.amountPicker = amountPicker;
        }

        @Override
        public void onClick(DialogInterface dialog, int which) {
            // TODO Auto-generated method stub
            switch(which){
            case DialogInterface.BUTTON_POSITIVE:
                amountPicker.clearFocus();
                cart.setInCartAmount(product, amountPicker.getValue());
                break;
            case DialogInterface.BUTTON_NEGATIVE:
                break;
            }
            loadAddBtnContent();
        }

    }

【问题讨论】:

  • 我发现了一些东西......“问题是editText只有在你改变焦点时才会更新内部值,并不是每次都发生”,是不是和我的问题有关??
  • 消息,我只能在键盘上设置'0',不能设置其他。我按“1-9”但没有反应

标签: android numberpicker


【解决方案1】:

您是否尝试过使用不同的设备模拟器

我在使用模拟器时遇到了同样的问题,我改变了它并尝试了其他设备,它们都可以工作。

【讨论】:

  • 是的,在其他模拟器上试试。
猜你喜欢
  • 2015-03-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-18
  • 2014-05-28
  • 1970-01-01
相关资源
最近更新 更多