如何从用户输入中保存数字?

How to save number from user input?

最近我开始研究 Android Studio 并决定制作一个应用程序。我已经充分利用了我的应用程序,但遇到了一个小问题。我需要在变量中记住用户输入的数字,但我不知道该怎么做,我已经尝试过在互联网上找到的解决方案,即使在这里,但我得到了一个错误。 有人可以帮我一些想法或编辑我必须放在我的应用程序中的代码吗? 这是 activity 的 java 代码:

public class calc_medie_teza extends ActionBarActivity implements View.OnClickListener {
EditText adaug_nota;
static final int READ_BLOCK_SIZE = 100;
TextView afisare;
TextView afisare2;
Button calc;
EditText note_nr;
EditText nota_teza;
int suma;
double medie;
double medieteza;
int nr_note = 0;
int notamedie;
int notateza;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_calc_medie_teza);
    afisare = (TextView) findViewById(R.id.afisare);
    afisare2 = (TextView) findViewById(R.id.afisare2);
    calc = (Button) findViewById(R.id.calc);
    calc.setOnClickListener(this);
    note_nr = (EditText) findViewById(R.id.note_nr);
    nota_teza = (EditText) findViewById(R.id.nota_teza);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.menu_calc_medie_teza, menu); // creare meniu
    return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
    int id = item.getItemId(); // meniu
    return id == R.id.action_settings || super.onOptionsItemSelected(item);
}
public void onClick(View v) // afisare medie
{
    calcul_medie();
}

public void buton_adauga(View v)
{
    if(note_nr == )
    suma = suma + notamedie;
    nr_note = nr_note + 1;
}
public double calcul_medie() // calculul mediei
{
    medie = suma / nr_note;
    medieteza = ((medie * 3)+ notateza)/4;
    return medieteza;
}

这是一张 activity 的照片:http://onlypro.ro/img/images/ootllv2f55hnwdgi0xlv.png

基本上,当我按下 "Adauga nota" [添加成绩] 按钮时,应用程序需要将输入数字添加到变量,然后我必须插入 "teza" 数字,当按下 [=24] =] [计算] 然后应用程序将计算 calcul_medie() 和 return 一个十进制数。在 "Introduceti notele aici" [在此处添加成绩] 和 "Adaugata nota"[添加成绩] 之间我有一个数字输入文本,在 "Introduceti teza aici" [Add thesis bere] 和 "Calculeaza media" [Calculate] 之间也是如此].我不知道如何存储用户输入的数字并将其求和到 "notamedie" 变量中。

希望您能理解我的问题。 如果您有任何问题,我会尽快回复。

提前致谢!

当您按下按钮时,只需按以下方式从编辑文本中检索适当的值

edittext = (EditText)layout.findViewById(R.id.txtDescription);
String string = edittext.getText().toString();

我完全没看懂问题。请清楚地定义问题并尽可能使用英语。据我所知,将有一个 Edittext,用户将向其输入值。在activity中获取它的值,然后使用它。

EditText edittext;
editext = (EditText) findViewById(R.id.editext);
String value = edit text.getText().toString(); // the value that the user inputted in String data format
// Here for addition you will need the value in int or decimal for that
int valueInt = Integer.parse(value); // this will be the value in int type
double valueInt =  = Double.parseDouble(value); // this will be the value (user inputted) in double data type ( which you will need if you want to use decimal numbers).

要检索文本,请执行此操作

String string = note_nr.getText().toString();

// Converting String to int
int myValue =Integer.parseInt(string);

好吧,我想您可能问过如何从 UI 获取字符串输入并将其转换为 Integer/BigDecimal。如果是这样,这里有一些解决方案:

  1. 首先,您从 UI:

    获取字符串

    String input = note_nr.getText().toString().trim();

  2. 将字符串输入改为integer/BigDecimal:

    int number1 = Integer.parseInt(input);

    BigDecimal number2 = new BigDecimal(input);

如果我误解了你的问题,请纠正我。谢谢

我又试了一次,但是 IDE 说我用于 "string" 的变量从未被使用过,但我已经用过了。

    number1= (EditText) findViewById(R.id.number1); 
    String number_1 = number1.getText().toString(); 
number2= (EditText) findViewById(R.id.number2); 
String number_2= number2.getText().toString();

R3muSGFX,你能post全部代码吗?

字符串number_1 = number1.getText().toString();这行代码只是意味着你初始化了一个字符串变量 "number_1".

你会在应用程序执行数学函数时使用它,就像你在开头写的那样:

public double calcul_medie() { medie = suma / nr_note; medieteza = ((medie * 3)+ notateza)/4; return medieteza; }

但是如果你根本没有使用 "number_1",IDE 会提示你警告信息 : 我用于 "string" 的变量从未使用过