2014-05-23 4 views
0

제목으로 숫자 선택기를 열고 숫자를 입력하고 싶습니다. 하지만 내가 입력 한 번호 선택 도구에는 아무런 변화가 없습니다. 숫자를 입력하고 그 값을 사용하여 금액을 설정하지만 값을 변경할 수는 없습니다. 어떻게 올바르게 사용할 수 있습니까?NumberPicker에서 키보드 입력을 읽을 수 없습니다.

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(); 
     } 

    } 
+0

나는 뭔가를 찾았습니다 ... "문제는 editText가 매번 발생하지 않는 포커스를 변경하는 경우에만 내부 값을 업데이트한다는 것입니다."라는 것이 내 문제와 관련이 있습니까 ?? – Simon

+0

뉴스에서는 키보드에서 '0'만 설정할 수 있지만 다른 것은 설정할 수 없습니다. 나는 '1-9'를 눌러도 응답이 없다. – Simon

답변

0

당신이 다른 장치에뮬레이터를 사용하여 시도 유무 :

여기 내 코드입니다.

에뮬레이터에서 동일한 문제가 발생하여 다른 장치를 사용해 보았습니다. 모두 작동했습니다.

+0

하지만 디바이스에서는 항상 그럴 수 없다 ... AVD를 사용하는 방법은 없는가? – Simon

+0

예, 다른 에뮬레이터에서 사용해보십시오. – Giamme

+0

나는 hv 시도했지만 ... 작동하지 않습니다. – Simon