私はAndroidアプリケーションに取り組んでいます。私のアプリで奇妙な問題に直面しています。画面を見てください。
選択ボックスから何かを選択すると、編集テキストに2回追加されます。
以下はedittextの私のコードです
snd_txt.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub
System.out.println("onTextChanged"+start+"b4"+before+"count"+count);
if (start>0) {
int m=snd_txt.getText().toString().lastIndexOf(".");
makeColorText(m,snd_txt.getText().toString().length());
}
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
}
});
public void makeColorText(int num,int last) {
int start=last-44;
if (start<1){
start=0;
}
SpannableString ss = new SpannableString(snd_txt.getText());
ss.setSpan(new ForegroundColorSpan(R.color.Gray_Light), 0, start,0);
ss.setSpan(new ForegroundColorSpan(Color.BLACK), start, last, 0);
// customize ss here
// ...
snd_txt.setText(ss);
snd_txt.setSelection(last);
}
ステートメントにコメントするsnd_txt.setText(ss);
と、edittextは完全に機能します。しかし、それはできません。そのメソッドを使用して、実行時に編集テキストの色を変更しました。常に正常に機能しています。ただし、予測を選択するときに、単語が2回追加されます。
誰でも解決するアイデアがあります、助けてください。
編集:マルチカラーテキストを使用してカスタム編集テキストを作成するにはどうすればよいですか。たとえば、現在の行は青で、前の行は黒です。そのようなもの