如何从用户输入中保存号码?

时间:2015-01-09 20:31:58

标签: android user-input

最近我开始乱用Android Studio并决定制作应用程序。我已经充分利用了我的应用程序,但遇到了一些问题。我需要在变量中记住一个来自用户输入的数字,但我不知道怎么做,我已经尝试过在互联网上找到的解决方案,即使在这里但是我收到了一个错误。 有人可以帮助我一些想法或编辑的代码,我必须在我的应用程序中添加? 这是活动的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;
}

以下是活动照片:http://onlypro.ro/img/images/ootllv2f55hnwdgi0xlv.png

基本上,当我按下“Adauga nota”[添加成绩]按钮时,应用程序需要将输入数字添加到变量,然后我必须插入“teza”编号并按下“Calculeaza media”[Calculate] app然后计算calcul_medie()并返回一个十进制数。在“Introduceti notele aici”[在这里添加成绩]和“Adaugata nota”[添加成绩]之间我有一个数字输入文本,同样是在“Introduceti teza aici”[添加论文bere]和“Calculeaza media”[Calculate]之间。我不知道如何存储用户输入的数字,并将其加在“notamedie”变量中。

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

提前致谢!

6 个答案:

答案 0 :(得分:2)

好吧,我想你可能会问如何从UI获取String的输入并将它们转换为Integer / BigDecimal。如果是这样,这里有一些解决方案:

  1. 首先,您可以从UI获取字符串:

      

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

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

      

    int number1 = Integer.parseInt(input);

         

    BigDecimal number2 = new BigDecimal(input);

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

答案 1 :(得分:1)

我根本不明白这个问题。如果可以,请明确定义问题并使用英语。据我所知,将会有一个Edittext,用户将输入该值。获取活动中的值,然后使用它。

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).

答案 2 :(得分:0)

当您按下按钮时,只需按以下方式从edittext中检索适当的值

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

答案 3 :(得分:0)

检索文本执行此操作

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

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

答案 4 :(得分:0)

我再试一次,但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();

答案 5 :(得分:0)

R3muSGFX,您可以发布整个代码吗?

String number_1 = number1.getText()。toString();此行代码仅表示您初始化了一个String变量" number_1"。

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

  

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

但是如果你没有使用" number_1"完全,IDE会暗示你的警告信息 :我用于"字符串"的变量永远不会使用