2014-02-14 4 views
0

Как я могу сделать историю операций?Как сделать историю для Android-приложения?

Мне нужно сохранить результаты в массиве, а затем redender с ListActivity в Android.

Это код:

public void calculator(){ 
    EditText screen = (EditText) findViewById(R.id.screen); 

    if (screen.getText().toString().equals(".")){ 
     screen.setText("0"); 
    } 
    if (screen.getText().toString().length() > 0){ 
     this.Operand2 = Float.parseFloat(screen.getText().toString()); 
    } 
    if (this.Operator.equals("+")) { 
     this.Answer = this.Operand1 + this.Operand2; 
    } else if (this.Operator.equals("-")){ 
     this.Answer = this.Operand1 - this.Operand2;  
    } else if (this.Operator.equals("*")){ 
     this.Answer =this.Operand1 * this.Operand2; 
    } else if (this.Operator.equals("/")){ 
     this.Answer = this.Operand1/this.Operand2; 
    }else if (this.Operator.equals("^")){ 
     this.Answer = (float) Math.pow(this.Operand1, this.Operand2); 
    }else if (this.Operator.equals("%")){ 
     this.Answer = Operand1 % this.Operand2; 
    }else{ 
     this.Answer = Float.parseFloat(screen.getText().toString()); 
    } 

    screen.setText(this.Answer + ""); 

И это массив адаптер:

la1 = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, ARRAY_NAME); 

ответ

0

В классе с методом калькулятора() добавить поле:

private List<String> history = new LinkedList<String>(); 

Затем добавьте ответ на этот список:

screen.setText(this.Answer + ""); 
list.add(this.Answer); 

Теперь список содержит историю операций (ответы).

0

не делают калькулятор, как это. синтаксический анализ всего выражения вместо символа char. (LALR мог бы сделать это отлично)

точно, что использовать, bison, этот инструмент будет генерировать код для вас.

Смежные вопросы