Я пытаюсь разработать простой калькулятор для использования в качестве табло для игры или двух.В конечном счете, я хочу иметь возможность выбирать количество игроков, иметь на экране столько счетчиков результатов, иметь возможность использовать сенсорный калькулятор для сложения или вычитания (или деления или умножения). Я получил его для работы наиболееpart.
В настоящее время он принимает текст, введенный на дисплее калькулятора, добавляет / вычитает / все, что угодно, к счету игрока, которого я выберу.
Проблема заключается в том, что цифровые клавиши отображаются на дисплее калькулятора.Например, я хочу иметь возможность нажать «1», затем «0», и в калькуляторе появится «10».Это должно было быть легко, учитывая, что я могу вводить текст ВРУЧНУЮ (используя клавиатуру Android по умолчанию), но самое близкое, что я могу получить, - это показать только 1 номер за раз ...
LongКороче говоря, я пытаюсь заставить работать и отображать цифровые кнопки калькулятора сенсорной панели.Ниже мой основной код проекта.Если вам нужен код моего макета, я также могу опубликовать его (для ссылок на идентификаторы).
Я знаю, что это, вероятно, простое решение, но каждый учебник, который я нахожу, либо слишком сложен, либо не работает ...ЛЮБАЯ помощь очень ценится!
package com.MCalculator8.test;
import com.MCalculator8.test.R;
import android.app.Activity;
import android.app.AlertDialog;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class MCalculator8Activity extends Activity {
private EditText player1name;
private EditText player2name;
private EditText player3name;
private EditText player4name;
private EditText player5name;
private EditText player6name;
private EditText player7name;
private EditText player1score;
private EditText player2score;
private EditText player3score;
private EditText player4score;
private EditText player5score;
private EditText player6score;
private EditText player7score;
private EditText input;
private TextView operator;
private MCalculator8Activity mContext;
// Called when the activity is first created.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mContext = this;
setContentView(R.layout.main);
player1name = (EditText) findViewById(R.id.player1name);
player2name = (EditText) findViewById(R.id.player2name);
player3name = (EditText) findViewById(R.id.player3name);
player4name = (EditText) findViewById(R.id.player4name);
player5name = (EditText) findViewById(R.id.player5name);
player6name = (EditText) findViewById(R.id.player6name);
player7name = (EditText) findViewById(R.id.player7name);
input = (EditText) findViewById(R.id.input);
player1score = (EditText) findViewById(R.id.player1score);
player2score = (EditText) findViewById(R.id.player2score);
player3score = (EditText) findViewById(R.id.player3score);
player4score = (EditText) findViewById(R.id.player4score);
player5score = (EditText) findViewById(R.id.player5score);
player6score = (EditText) findViewById(R.id.player6score);
player7score = (EditText) findViewById(R.id.player7score);
operator = (TextView) findViewById(R.id.operator);
// We create an OnClick Event in each button.
Button plusButton = (Button) findViewById(R.id.add);
Button minusButton = (Button) findViewById(R.id.subtract);
Button multiplyButton = (Button) findViewById(R.id.multiply);
Button player1equals = (Button) findViewById(R.id.player1equals);
Button player2equals = (Button) findViewById(R.id.player2equals);
Button player3equals = (Button) findViewById(R.id.player3equals);
Button player4equals = (Button) findViewById(R.id.player4equals);
Button player5equals = (Button) findViewById(R.id.player5equals);
Button player6equals = (Button) findViewById(R.id.player6equals);
Button player7equals = (Button) findViewById(R.id.player7equals);
plusButton.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
operator.setText("+");
}
});
minusButton.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
operator.setText("-");
}
});
multiplyButton.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
operator.setText("x");
}
});
player1equals.setOnClickListener(new OnClickListener() {
private AlertDialog show;
public void onClick(View arg0) {
if ((input.getText().length() == 0)
|| (input.getText().toString() == " ")) {
// || (input2.getText().length() == 0)
// || (input2.getText().toString() == " ")) {
show = new AlertDialog.Builder(mContext).setTitle("Error")
.setMessage("Some inputs are empty")
.setPositiveButton("OK", null).show();
} else if (operator.getText().equals("")) {
show = new AlertDialog.Builder(mContext).setTitle("Error")
.setMessage("Operator is null").setPositiveButton(
"OK", null).show();
} else if (operator.getText().equals("+")) {
double result = new Double(input.getText().toString())
+ new Double(player1score.getText().toString());
player1score.setText(Double.toString(result));
} else if (operator.getText().equals("-")) {
double result = new Double(player1score.getText().toString())
- new Double(input.getText().toString());
player1score.setText(Double.toString(result));
} else if (operator.getText().equals("x")) {
double result = new Double(input.getText().toString())
* new Double(player1score.getText().toString());
player1score.setText(Double.toString(result));
}
}
});