删除此帖子,因为下面的编码做法很差......
答案 0 :(得分:0)
也许你可以在变量中存储mCommentEdit.getText()。toString(),因此它包含你实际要发送的内容,并在editText中删除@username?
类似的东西:
private String message = mCommentEdit.getText().toString();
mCommentEdit.setText(removeUsername(message));
确定改变颜色的两个选项:
mCommentEdit.setText(Html.fromHtml("<font color=white>" + username + "</font><br><br>" + message));
或
Spannable spannable = new SpannableString(message);
spannable.setSpan(new ForegroundColorSpan(Color.TRANSPARENT),0, username.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
mCommentEdit.setText(spannable, TextView.BufferType.SPANNABLE);
希望它有所帮助。如果您需要进一步澄清,请告诉我。
答案 1 :(得分:0)
某些字符串替换魔法可能对您有帮助。
//store your editText value in a string
String stringToSubmit = mCommentEdit.getText().toString();
//replace the username with an empty string
stringToSubmit = stringToSubmit.replace("@" + username, "");
我没有根据您的代码对此进行测试或编写,但它应该给您一个好主意。