嗨,当检查更改时,我的复选框出现问题,如果复选框被选中,我将显示一个警报对话框,该对话框接受输入值并将值设置为文本视图,并且我将该值添加到列表中,这是我的代码
@Override
public void onCheckedChanged(CompoundButton checkBox, boolean isChecked)
{
TextView tvItem=(TextView)selectedView.findViewById(R.id.foodName);
final TextView tvQuantity=(TextView)selectedView.findViewById(R.id.quantity);
orderList=new ArrayList<Order>();
Order order=new Order();
if(isChecked)
{
final AlertDialog.Builder quantityAlert= new AlertDialog.Builder(TakeOrder.this);
quantityAlert.setTitle("Quantity");
quantityAlert.setMessage("Please enter quantity");
final EditText input = new EditText(TakeOrder.this);
input.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL);
quantityAlert.setView(input);
quantityAlert.setPositiveButton("Ok", new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int whichButton)
{
value = input.getText();
tvQuantity.setText(value);
}
});
quantityAlert.setNegativeButton("Cancel", new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int whichButton)
{
}
});
quantityAlert.show();
order.setItem(tvItem.getText().toString());
order.setQuantity(Integer.valueOf(tvQuantity.getText().toString()));
orderList.add(selectedPosition, order);
Log.v("Item:",orderList.get(selectedPosition).getItem());
Log.v("Quantity:",String.valueOf(orderList.get(selectedPosition).getQuantity()));
}
else
{
tvQuantity.setText("0");
orderList.remove(selectedPosition);
}
}
问题是我首先显示警报对话框然后从用户那里获取数量值但是在我在警报框中输入值之前 Log.v 执行并显示 0 这意味着在我的列表中数量被添加到 0...但是我希望将来自警报对话框的数量值添加到列表中......任何人都可以帮助我......