2013-06-10 4 views
0

Я новичок в java и Android. Я работаю над простым проектом, который почти завершен. Но я столкнулся некоторые проблемы в макете XML:простая математика с пользователями

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="horizontal" > 

    <EditText 
     android:id="@+id/a" 
     android:layout_width="35dp" 
     android:layout_height="wrap_content" 
     android:layout_margin="10dp" 
     android:inputType="number" 
     android:minWidth="60dp" /> 

    <Button 
     android:id="@+id/button1" 
     android:layout_width="47dp" 
     android:layout_height="wrap_content" 
     android:text="Button" /> 

    <TextView 
     android:id="@+id/total" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_margin="10dp" /> 

</LinearLayout> 

Когда пользователь вводит число в редактировании текста и нажмите на кнопку, то вид текста должен показывать этот результат:

"enters number minus(-)30" 

Как если пользователь вводит номер 50, тогда результат показать 20 в текстовом поле (50-30 = 20)

Я знаю только базовую Java, и я никогда не занимаюсь математикой на Java, поэтому я не знаю, что я пишу в коде. Ищите много на google и stackoverflow.com, а также читайте много книг, но никогда не найдете эту простую математику.

Любая помощь будет оценена по достоинству.

ответ

1
btnsub.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       String edtval = edttxt.getText().toString().trim(); 

          if(!edtval.equals("")){ 
           int val = Integer.parseInt(edtval); 
           int finalval = val - 30; 

           textview.setText(finalval+""); 
         } 
      } 
     }); 
+0

'textview.setText (val-30);' будет выдавать ошибку, т.е. Strin g Ресурс не найден –

+0

проверить мой отредактированный ответ .. – Riser

+0

очень большое спасибо за отличного человека – user2469476

-1
btnsub.setOnClickListener(new OnClickListener() { 

     @Override 
      public void onClick(View v) { 
    int num; 
     try { 
       num= Integer.parseInt(edttxt.getText().toString()); 
       textview.setText(""+(num - 30)); 
     } catch (NumberFormatException e) { 
      // Open a dialog for incorrect input,i.e., Not a number 
     } 

     } 
    }); 
+0

как насчет пробелов? EditText может содержать пробел. –

+0

Редактор также может содержать строковые значения, chk мой код для этого исключения, который также включает в себя ваше пространство! –

+0

Это неправильный способ, вы можете использовать 'trim()', чтобы преодолеть одно и то же. –

0

Простая математика очень просто выполнить.

Сначала нужно, чтобы получить ссылки на Фототуров следующим

EditText editText = (EditText) findViewById(R.id.a); 

Button button = (Button) findViewById(R.id.button1); 

TextView textView = (TextView) findViewById(R.id.total); 

Затем установить onClickListener для Баттона, и операции внутри OnClick Метод

button.setOnClickListener(new OnClickListener() { 

    @Override 
    public void onClick(View v) { 
      Integer input = 0; 
      try { 
       input = Integer.parseInt(editText.getText().toString()); 
      } catch (NumberFormatException e) { 
       input = 0; 
      } 
      input = input - 30; 
      textView.setText(input.toString() + ""); 
    } 
} 
+0

очень большое спасибо за отличного человека – user2469476

1

btnsub.setOnClickListener (новый OnClickListener() {

 @Override 
     public void onClick(View v) { 
      String edtval = edttxt.getText().toString().trim(); 

         if(!edtval.equals("")){ 
          int val = Integer.parseInt(edtval); 
          int finalval = val - 30; 

          textview.setText(String.valueOf(finalval)); 
        } 
     } 
    }); 
+0

очень большое спасибо за отличного человека – user2469476

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