2012-05-02 30 views
0

我正在製作一個與Windows計算器相同的計算器。我被困在歷史功能。這將是實現歷史功能的最佳UI控件,如Windows計算器中所示? 我也希望onclick歷史上的事件。如何在android中創建歷史計算器?

+0

歷史功能是做什麼的? – Hassan

+0

歷史功能顯示了兩個操作數和計算中涉及的操作數..它也取代了最新的計算並佔據上位 – ashi

回答

0

你能用一個List包含一些先前輸入的計算嗎?如果您事先知道可能的最大歷史記錄大小,則可以堅持使用普通數組,但列表會爲您提供更大的靈活性。

+0

列表支持onclick事件嗎? – ashi

+1

對不起,我以爲你在談論計算曆史的底層商店。我建議你更新你的問題,以澄清你實際上正在問什麼是最好的UI控件來實現歷史功能,如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)