2012-03-30 2 views
0

Я хотел бы удалить кнопку и автоматизировать процесс в следующем коде. Я осмотрелся, но не нашел ответа, который мне нужен.Удаление OnClickListener и автоматизации

public class MainActivity extends Activity { 
EditText Number1; 
EditText Number2; 
Button calc; 
TextView output; 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    Number1 = (EditText) findViewById(R.id.Number1); 
    Number2 = (EditText) findViewById(R.id.Number2); 
    calc = (Button) findViewById(R.id.calc); 
    output = (TextView) findViewById(R.id.output); 
} 

public void doCalc (View view) { 
    double intNum1 = Double.parseDouble(Number1.getText().toString()); 
    double intNum2 = Double.parseDouble(Number2.getText().toString()); 
    double mOutput = (intNum1*intNum2); 
    output.setText("Output" + mOutput); 
} 

}

Я совершенно новой для Java то, в основном сделал некоторые PERL скриптов, так что любая помощь очень ценится.

+0

Автоматизированный как? Когда кнопка нажата, doCalc() принимает цифры и выводит их сумму. Итак, эта печать будет происходить автоматически, когда? –

+0

Я хотел бы удалить кнопку полностью, без нажатия кнопки, когда Num1 и Number2 заполнены doCalc. – tim

+0

Затем вы должны настроить onTextChangedListener() для обоих полей редактирования и делать при изменении текста. –

ответ

0

Если вы хотите избавиться от кнопки, вам необходимо посмотреть, как изменяются текстовые поля, с помощью TextWatcher. Что-то вроде этого:

 TextWatcher watcher = new TextWatcher() {     
      @Override 
      public void afterTextChanged(Editable s) {       
       double d = Double.parseDouble(Number1.getText()) * Double.parseDouble(Number2.getText()); 
       result.setText(d + ""); 
       } 
      } 
      @Override 
      public void beforeTextChanged(CharSequence s, int start, int count, int after) { } 
      @Override 
      public void onTextChanged(CharSequence s, int start, int before, int count) { } 

     }); 
Number1.addTextChangedListener(watcher); 
Number2.addTextChangedListener(watcher); 

Извините за любые ошибки, я в основном копировать/вставить быстро, удачи.

+0

Спасибо за ответ, вот что я искал. – tim

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