Android dev で最初から学習するために電卓をプログラムしようとしていますが、人間が理解できない問題に直面しています。あなたが人間でないことを願っています。
私のIf条件を見てください:
if (result != "")
{
textView.append("0");
}
(isEmpty() は API7 でサポートされていないため、isEmpty() メソッドの代わりに « result != "" » を使用したことに気付くかもしれません)。
良い。次に、2 つの「結果」変数を見てください。
result "" (id=830012674816)
count 0
hashCode 0
offset 0
value (id=830012674848)
result "" (id=830022154000)
count 0
hashCode 0
offset 0
value (id=830022154032)
(Eclipse Debugger から 2 つの結果をコピーしました)
最初の結果は OK です。これは、プログラムを開始したときに得られるものです。if はその仕事を行い、通過します。2 つ目はまったく同じように見えますが、理由は不明ですが、if の内部に入り、ゼロを追加します。「プラス」ボタンを押すと、この問題が発生します。
何か案が ?
情報が不足している、または問題を理解していない場合は、ここでワークスペース全体 (進行中) を見つけることができます: http://www.sendspace.com/file/udp5d3。問題を再現するには、プログラムの起動時に「ゼロ」ボタンを押します。通常は表示されないことに注意してください。次に、「104」、「7」、「73」などの任意の数字を入力し、「プラス」ボタンを押してから「ゼロ」を押します。ゼロはここに表示されるべきではありません。
ありがとうございました :)