Twitterに投稿するときにEditText内の文字数をカウントしたいときの備忘録
private EditText et;
private TextView tv;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.twitter);
tv = (TextView) findViewById(R.id.TwitterTextCount);
et = (EditText) findViewById(R.id.TwitterText);
et.addTextChangedListener(new TextWatcher(){
@Override
public void onTextChanged(CharSequence s, int start, int before, int count){
if(tv != null){
final int textColor;
int length = 140- s.length();
if(length < 0){
textColor = Color.RED;
}else{
textColor = Color.GRAY;
}
tv.setTextColor(textColor);
tv.setText(String.valueOf(length));
}
}
@Override
public void afterTextChanged(Editable s) {
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
});
}
EditTextクラスのaddTextChangedListenerを使う
今回は140文字を超えるとTextViewで表示している数字を赤くした

