2012-05-02 3 views
0

Я делаю калькулятор таким же, как калькулятор Windows. Я застрял в истории. который был бы лучшим элементом управления пользовательским интерфейсом для реализации функции истории, как показано в калькуляторе Windows? Я также хочу, чтобы события onclick в истории.Как сделать калькулятор истории в Android?

+0

Что делает функция истории? – Hassan

+0

Функция истории показывает два операнда и операнд, участвующие в расчете .., который также заменяет собой последний сделанный расчет и занимает верхнюю позицию – ashi

ответ

0

Не могли бы вы использовать List, содержащий ряд ранее введенных расчетов? Если вы знали максимально возможный размер истории заранее, вы могли бы просто придерживаться нормального массива, но List предоставит вам больше гибкости.

+0

ли список поддержки onclick событий? – ashi

+1

Ах, извините, я думал, что вы говорите об основном хранилище своей истории расчетов. Я предлагаю вам обновить свой вопрос, чтобы уточнить, что вы действительно спрашиваете о том, какой из них будет лучшим элементом управления пользовательским интерфейсом для реализации функции истории, как показано в калькуляторе Windows. – Beardy

0

Вам необходимо сохранить все операции и результаты с помощью индекса здесь. Увеличивайте индекс каждый раз, когда вы выполняете операцию. Чтобы получить предыдущую операцию, используйте индекс, и вы можете получить значения. Вы можете использовать Collection API для хранения операций.

1

Я не знаю, как вы представляете расчет, но вы могли бы иметь простой класс, как это:

enum Operator {PLUS,MINUS,DIV,MULT}; 

class Calculation { 
    float operand1,operand2; 
    Operator operator; 
    public Calculation(float op1,float op2,Operator operator){ 
     this.operand1=op1; 
     this.operand1=op2; 
     this.operator=operator; 
    } 
} 

Затем, когда расчет делается, создать объект этого типа, и добавить его в ArrayList:

List<Calculation> history = new ArrayList<Calculation>();// history 

history.add(new Calculation(5,5,Operator.PLUS));// add a new `Calculation` to our list 

Затем откройте список с history.get(some_integer), основываясь на вашем пользовательском интерфейсе.

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