【发布时间】: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