#java #android #android-studio
#java #Android #android-studio
Вопрос:
Итак, я начинаю с разработки Android, и у меня проблема, с которой я не могу разобраться. Я создаю калькулятор, очевидно, использующий ряд кнопок. Я могу заставить другие кнопки размещать свои соответствующие номера в EditText просто отлично, но точка / точка просто не будут отображаться, даже если они почти идентичны почти во всех отношениях и связаны таким же образом в коде Java. Мой код приведен ниже: я показал XML для кнопки с номером 9, а затем десятичную кнопку, чтобы показать их сходство
<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);
Я убрал много других кнопок, чтобы не иметь обширного списка. Просто показываю кнопку, которая, кажется, работает — button9, и ту, которая не работает — buttonDot, несмотря на то, что она создана и инициализирована почти одинаково.
Большое спасибо
Ответ №1:
Добавьте это в свой EditText в xml:
android:inputType="numberSigned|number|numberDecimal"
Если в нем нет numberDecimal, то он не позволит вам вводить десятичные числа.