【发布时间】:2021-04-06 17:34:19
【问题描述】:
我有两个EditText,从中我得到Integer'数量'和'速率'的值,然后我将这个Integer值设置为TextView名称'数量'。
private MilkViewModel milkViewModel;
private DatePickerDialog datePickerDialog;
private Button dateButton,submit;
private EditText dateText;
private MaterialDatePicker materialDatePicker;
private Spinner shift_spinner;
private ImageView imageView;
public RadioGroup rg;
private EditText fat;
private EditText snf;
public EditText rate;
public EditText qty;
private TextView amount;
private RadioButton rb;
private String getDate,getShift,getType;
private int getSnf=0;
private int getRate;
private int getQty;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
dateText=findViewById(R.id.date_picker_et);
shift_spinner = (Spinner) findViewById(R.id.shift_spinner);
rg=(RadioGroup)findViewById(R.id.radioGroup);
snf=(EditText)findViewById(R.id.snf);
rate=(EditText)findViewById(R.id.rate);
fat=(EditText)findViewById(R.id.fat);
amount= (TextView) findViewById(R.id.amount);
final TextView amount = findViewById(R.id.amount);
qty=(EditText)findViewById(R.id.qty);
submit=(Button)findViewById(R.id.submit);
// int getAmount = Integer.parseInt(amount.getText().toString());
int getRate=Integer.parseInt(rate.getText().toString());
int getQty=Integer.parseInt(qty.getText().toString());
rate.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
amount.setText(Integer.toString(getRate*getQty));
Toast.makeText(MainActivity.this, ""+amount, Toast.LENGTH_SHORT).show();
}
});
每当用户输入汇率时,我都会使用TextWatcher on rate,该值将设置为TextView Amount。但我得到NumberFormatException 输入字符串:“”。
【问题讨论】:
标签: android android-studio textwatcher