2015-01-09 2 views
0

Недавно я начал общаться с Android Studio и решил сделать приложение. Я использовал большинство своих приложений, но у меня возникла небольшая проблема. Мне нужно запомнить в переменной число с пользовательского ввода, но я не знаю, как это сделать, я пробовал решения, найденные в Интернете, даже здесь, но я получаю сообщение об ошибке. Может ли кто-нибудь помочь мне с некоторыми идеями или отредактированным кодом, который я должен добавить в свое приложение? Это ява код деятельности:Как сохранить номер с пользовательского ввода?

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 Нота» [ Add grade], а затем мне нужно вставить номер «теза», а при нажатии «Calculeaza media» [Calculate] приложение будет вычислять calcul_medie() и возвращать десятичное число. Между «Вводной записью aici» [Добавить оценки здесь] и «Adaugata nota» [Добавить оценку] У меня есть ввод текста ввода, то же самое между «Введение в теза аки» [Добавить тезисы] и «Калькулаза медиа» [Рассчитать]. Я не знаю, как сохранить номер, который вводит пользователь, и суммировать его в переменной «notamedie».

Надеюсь, вы понимаете мою проблему. По любым вопросам, которые у вас есть, я отвечу, как только смогу.

Заранее благодарен!

+0

ли вам нужен номер от редактировать текст? – kelvincer

+0

@kelvincer да Мне нужно число из edittext. – R3muSGFX

ответ

2

Ну, я думаю, что ваш, вероятно, спросил, как получить ввод строки из пользовательского интерфейса и перевести их в Integer/BigDecimal. Если да, то здесь какое-то решение:

  1. первым, вы получите получить строку из интерфейса:..

    вход String = note_nr.getText() ToString() отделка();

  2. изменения входной строки в целое число/BigDecimal:

    INT число1 = Integer.parseInt (вход);

    BigDecimal number2 = new BigDecimal (ввод);

Поправьте меня, если неправильно ваши вопросы. Благодарю.

0

При нажатии кнопки будет просто получить соответствующее значение из EditText следующим образом

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

Я уже пробовал это, но он не работает ... – R3muSGFX

+0

«Not woking» имеет большой объем. Можете ли вы объяснить, в чем именно проблема? – Rohit5k2

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

Извините, но я использовал объявления на моем родном языке, который является румынским. – R3muSGFX

0

, чтобы получить текст сделать это

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

// Converting String to int 
int myValue =Integer.parseInt(string); 
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(); 
0

R3muSGFX, можете ли вы опубликовать все коды?

Строка number_1 = number1.getText(). ToString(); эти строки просто означают, что вы инициализировали переменную String «number_1».

и вы использовали его, когда приложение выполняет математическую функцию, как вы писали в начале:

общественной двойной calcul_medie() { Medie = сума/nr_note; medieteza = ((medie * 3) + notateza)/4; возвращение medieteza; }

, но если вы не использовали «NUMBER_1» на всех, IDE будет означать вам предупреждающее сообщение : переменный я использовал для «строки» никогда не используется

Смежные вопросы