3 回答
TA贡献1818条经验 获得超8个赞
我建议的改进是方法onClick()。
你的逻辑可以这样写:
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贡献1946条经验 获得超3个赞
因此,我发现一种不太笨拙的方法是android:onClick为 10 个按钮中的每一个按钮分配一个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;
}
其中一个按钮的 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" />
添加回答
举报