我已經編寫了一些代碼來測試用戶是否更改了6個編輯文本框中的任意值,但代碼看起來體積龐大且冗餘。我想知道是否有更優雅的方式來做到這一點。將注意力集中在多個編輯文本框
用戶將數字輸入到所有6個編輯文本框中,並且在每次輸入後,計算例程會在進行計算之前檢查所有框是否都有有效數字。 kistener必須在丟失的foucus上進行射擊,以便在計算完成之前將數字放在框中。並輸出結果。如果用戶想要返回並更改6個編輯文本框中任意一個的值,則會再次運行調用例程。 我在onCreate部分爲每個編輯文本框設置了6個監聽器。 然後我有6個獨立的例程來測試每個hasFocus == false。
內的onCreate區間i設置每個的6個用戶輸入edottext框收聽者:
et1.setOnFocusChangeListener(this);
.
.
.
.
et6.setOnFocusChangeListener(this);
然後我不得不檢查是否有任何的EditText框已失去焦點,提示theat用戶改變了一些方法數據,並因此重新運行計算。
我做了檢查爲每個6用戶輸入的EditText框如下:
@Override
public void onFocusChange(View v, boolean hasFocus)
{ if ((v == findViewById(R.id.et1)) && (hasFocus==false))
{do calculations }
.
.
.
.
if ((v == findViewById(R.id.et6)) && (hasFocus==false))
{do calculations }
}
原諒我,如果我在代碼所做之上的任何錯別字。它運行在我的平臺上,但我想學習更好的方法來做到這一點。
感謝您的代碼清潔的想法。 – 2011-02-17 20:23:49