мы пытаемся настроить auto clickListener для выполнения автоматического расчета после ввода данных от пользователя. Так же, как в калькуляторе, когда пользователь вводит ввод, и расчет выполняется автоматически. Если я выполняю расчет в tvProcessor (2 + 3 + 2), то после нажатия на кнопку равенства результат отображается в tvResult (7). Возможно ли автоматически запускать прослушиватель кликов, пока я выполняю какие-либо вычисления.
Если мы нажмем (2 + 3), а затем, не нажимая на btnEqual, автоматически получим результат как 5
String processor;
setContentView(R.layout.activity_main);
tvProcessor = (TextView) findViewById(R.id.tv_process);
tvResult = (TextView) findViewById(R.id.tv_result);
btnTwo = (Button) findViewById(R.id.btn_two);
btnThree = (Button) findViewById(R.id.btn_three);
btnPlus = (Button) findViewById(R.id.btn_plus);
btnTwo.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
processor = tvProcessor.getText().toString();
tvProcessor.setText(processor + "2");
}
});
btnThree.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
processor = tvProcessor.getText().toString();
tvProcessor.setText(processor + "3");
}
});
btnPlus.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
processor = tvProcessor.getText().toString();
tvProcessor.setText(processor + "+");
}
});
btnEqual.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
processor = tvProcessor.getText().toString();
Context rhino = Context.enter();
rhino.setOptimizationLevel(-1);
String result = "";
try{
Scriptable scope = rhino.initStandardObjects();
result = rhino.evaluateString(scope, processor, "JavaScript", 1, null).toString();
}catch (Exception e){
result = "Error";
}
tvResult.setText(result);
}
});