将TextView文本设置为与EditText字段文本颜色相同的颜色

时间:2014-07-08 03:12:06

标签: java android android-edittext textview

基本上我已经设置了EditText字段在onClick(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

1 个答案:

答案 0 :(得分:0)

如果您使用editText.getText()(而不是editText.getText().toString()),并且还将消息类型更改为CharSequence,那么它应该保留您应用的任何标记。

通过将其转换为字符串,您将丢失此信息。