3 回答

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超8個(gè)贊
我建議的改進(jìn)是方法onClick()。
你的邏輯可以這樣寫(xiě):
public void onClick(View view) {
if (expression.equals("0")) {
expression = "";
Screen.setText("");
}
if (checkLength(Screen)) Screen.append(expostate ? getSuperscript(value) : value);
expression += value;
presentop = false;
}

TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超3個(gè)贊
因此,我發(fā)現(xiàn)一種不太笨拙的方法是android:onClick為 10 個(gè)按鈕中的每一個(gè)按鈕分配一個(gè)android:tag提取值。
代碼:-
public void onNumpress(View v){
buttonFlash((Button) v);
String value = getResources().getResourceEntryName(v.getId()).replace("btn", "");
if (expression.equals("0")) {
expression = "";
Screen.setText("");
}
if (checkLength(Screen)) Screen.append(expostate ? getSuperscript(value) : value);
expression += value;
presentop = false;
}
其中一個(gè)按鈕的 xml 布局:-
<Button
android:id="@+id/btn0"
android:layout_width="78dp"
android:layout_height="85dp"
android:layout_marginBottom="8dp"
android:background="@color/colorPrimary"
android:text="@string/btn0"
android:textColor="@color/colorSecondary"
android:textSize="24sp"
android:onClick="onNumpress"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/btnans" />

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超4個(gè)贊
如果按鈕的 ID 在運(yùn)行時(shí)已知,那么最好只創(chuàng)建一個(gè)包含 ID 的數(shù)組,而不是執(zhí)行 getResources() 調(diào)用。
添加回答
舉報(bào)