2011-06-08 39 views
0
private int ScoreCount; 


/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.score); 

    final TextView TotalScore = (TextView) findViewById(R.id.TotalScore); 
    final TextView One = (TextView) findViewById(R.id.Score1); 

    One.setOnClickListener(new OnClickListener() { 

     public void onClick(View v) { 
      ScoreCount++; 
      Front9.setText("" + ScoreCount); 
     } 
    }); 

如果我在兩個textviews中都填入一個隨機數,我想要在totalscore中的2個數字的總和。 我該怎麼做。是我添加正確的方式來做到這一點的代碼。 我知道onclicklistener不是正確的方式,而是使用什麼來代替。總共2個文字瀏覽

enter image description here

回答

1

我知道你在尋找的是一個TextWatcher http://developer.android.com/reference/android/text/TextWatcher.html

假設你有代碼,以增加每個分數TextViews的照顧,掛鉤各TextViews的,象這樣一個TextWatcher

One.addTextChangedListener(new TextWatcher() { 

    public void onTextChanged(CharSequence s, int start, int before, int count) { 
     int score1 = Integer.parseInt(One.getText()); 
     int score2 = Integer.parseInt(Two.getText()); 
     FrontNine.setText(String.valueOf(score1 + score2)); 
    } 

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

    } 

    public void afterTextChanged(Editable s) { 
     // TODO Auto-generated method stub 

    } 
}); 

編輯 - 顯然我誤解了這個問題。要增加每個分數,使用點擊處理程序是可接受的方法。有關完整示例,請參閱上面的代碼。忽視上面的評論和代碼。

private int scoreTotal1; 
private int scoreTotal2; 
private int overallTotalScore; 

/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.score); 

    scoreTotal1 = 0; 
    scoreTotal2 = 0; 
    overallTotalScore = 0; 

    final TextView textViewtotalScore = (TextView) findViewById(R.id.TotalScore); 
    final TextView textViewOne = (TextView) findViewById(R.id.Score1); 
    final TextView textViewTwo = (TextView) findViewById(R.id.Score2); 

    textViewOne.setOnClickListener(new OnClickListener() { 
     public void onClick(View v) { 
      scoreTotal1++; 
      overallTotalScore = scoreTotal1 + scoreTotal2; 
      textViewOne.setText(String.valueOf(scoreTotal1)); 
      textViewTotalScore.setText(String.valueOf(overallTotalScore)); 
     } 
    }); 

    textViewTwo.setOnClickListener(new OnClickListener() { 
     public void onClick(View v) { 
      scoreTotal2++; 
      overallTotalScore = scoreTotal1 + scoreTotal2; 
      textViewTwo.setText(String.valueOf(scoreTotal2)); 
      textViewTotalScore.setText(String.valueOf(overallTotalScore)); 
     } 
    }); 
} 
+0

如何增加每個TextView的分數? – HunterX86 2011-06-09 11:05:59