所以我从android dev开始,我有一个问题,我似乎不能左右我的头。我建立一个计算器显然利用了一系列的按钮。我可以让其他按钮在edittext中发布相应的数字,但是点/句点不会出现,即使它在几乎所有方面都是相同的,并且在java代码中以相同的方式链接起来。我的代码如下:我显示了9号按钮的xml,然后显示了十进制按钮以显示它们的相似性
<Button
android:id="@+id/button9"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginLeft="8dp"
android:minWidth="48dp"
android:text="9"
app:layout_constraintBaseline_toBaselineOf="@+id/button8"
app:layout_constraintStart_toEndOf="@+id/button8" />
<Button
android:id="@+id/buttonDot"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginLeft="8dp"
android:minWidth="48dp"
android:text="."
app:layout_constraintBaseline_toBaselineOf="@+id/button0"
app:layout_constraintStart_toEndOf="@+id/button0" />
初始化和使用它们的java如下
private EditText newNumber;
private EditText baseNumber;
private TextView operation;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
baseNumber = (EditText) findViewById(R.id.baseNumber);
newNumber = (EditText) findViewById(R.id.newNumber);
operation = (TextView) findViewById(R.id.operation);
Button button9 = (Button) findViewById(R.id.button9);
Button buttonDot = (Button) findViewById(R.id.buttonDot);
View.OnClickListener listener = new View.OnClickListener() {
@Override
public void onClick(View v) {
Button b = (Button) v;
newNumber.append(b.getText().toString());
}
};
button9.setOnClickListener(listener);
buttonDot.setOnClickListener(listener);
我已经去掉了很多其他的按钮,这样就不会有太多的列表了。简单地显示一个按钮,似乎工作-按钮9,和一个不-按钮不,尽管被创建和初始化几乎相同。
非常感谢
1条答案
按热度按时间qlzsbp2j1#
将此添加到xml中的edittext:
如果它没有numberdecimal,那么它将不允许您输入十进制数。