基本上,我已经设置了EditText字段在点击(ListView中的单元格)填充到某个单词的地方。我将这个单词的颜色设置为绿色,当它出现在EditText字段中时,它就是绿色的。唯一的问题是,当我发送的文本到ListView,我在EditText设置绿色的文本不再是绿色的,它是相同的颜色作为其余的文本。有人知道解决这个问题的方法吗?
public void onItemClick(AdapterView<?> a, View v, int position,
long id) {
int skull = R.drawable.image05;
Drawable image = getResources().getDrawable(skull);
if(images[imageId] == skull){
Toast.makeText(ChatRoom2.this, "Skull", Toast.LENGTH_LONG)
.show();
String next = "<font color='#13b602'>@Skull</font>";
editText.setText(Html.fromHtml(next));
editText.setSelection(editText.getText().length());
}
else{
Toast.makeText(ChatRoom2.this, "clicked", Toast.LENGTH_LONG)
.show();
}
上面的代码填充EditText字段
addButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// String message2;
message = editText.getText().toString();
RowItems item = new RowItems(images[imageId], message);
if (message.isEmpty()){
Toast.makeText(ChatRoom2.this, "Say Something", Toast.LENGTH_LONG)
.show();
}
else {
adapter.add(item);
adapter.notifyDataSetChanged();
}
editText.setText("");
//minimize keyboard bitch
InputMethodManager imm = (InputMethodManager)getSystemService(Context.
INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);
}
});
上面的代码是当消息被发送到ListView
如果您使用editText.getText()
(而不是editText.getText().toString()
),并且还将消息类型更改为CharSequence
,那么它应该保留您应用的任何标记。
通过将其转换为字符串,您将丢失此信息。