2014-10-11 188 views
-1

新的SO用戶在這裏,我也是新來的機器人。我需要幫助在兩個編輯文本框之間進行簡單的計算 - 無需使用按鈕,使用textwatcher,以便在用戶使用edittext框後,可以將兩者一起添加並在textview中輸出答案。我會在這裏發佈我的代碼,但它不是什麼好事。任何人都可以提供如何使用兩個edittext框的例子,將textwatcher分配給兩者,然後將輸出放入一個textview。另外,請記住,這最終將使用多個edittext框,同時自動更新對方。這將與在Microsoft Excel中創建論壇並立即更新它們類似。我似乎遇到的一個主要問題是,只有一個空的時候才能捕捉到數字形象。感謝您的時間。簡單的Edittext數學Android

回答

2

我實現了一個簡單的應用程序 - 我希望它可以幫助你。

public class MainActivity extends Activity implements TextWatcher { 

TextView tvResult; 
EditText tvNumberOne, tvNumberTwo; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    tvResult = (TextView)findViewById(R.id.tvResult); 
    tvNumberOne = (EditText)findViewById(R.id.tvNumberOne); 
    tvNumberTwo = (EditText)findViewById(R.id.tvNumberTwo); 

    tvNumberOne.addTextChangedListener(this); 
    tvNumberTwo.addTextChangedListener(this); 

} 

@Override 
public void afterTextChanged(Editable s) { 

    int numOne = 0, numTwo = 0; 
    try{ 
     numOne = Integer.valueOf(String.valueOf(tvNumberOne.getText())); 
     numTwo = Integer.valueOf(String.valueOf(tvNumberTwo.getText())); 
    }catch(Exception ex){ 
     Toast.makeText(getApplicationContext(), "Parsing error!",Toast.LENGTH_SHORT).show(); 
    } 

    tvResult.setText(String.valueOf(numOne + numTwo)); 

} 

@Override 
public void beforeTextChanged(CharSequence s, int start, int count, 
     int after) { 
    // TODO Auto-generated method stub 

} 

@Override 
public void onTextChanged(CharSequence s, int start, int before, int count) { 
    // TODO Auto-generated method stub 

} 

}

+0

這極大的幫助。感謝您的時間。 – 2014-10-11 21:00:32

+0

不客氣。 – rogi1609 2014-10-11 21:07:52

+0

只是好奇,實現它的優勢是什麼vs實例化它像這樣: TextWatcher textWatcher = new TextWatcher(){ } – 2014-10-13 16:58:27