cuando añado a un EditText un objeto de tipo Spanned me funciona bien. Pero cuando hago que el EditText agregue un objeto de ese tipo leyéndolo de una lista, no lo hace. ¿Dónde está el problema?
Les muestro el código:
MainActivity.java:
Código:
public class MainActivity extends AppCompatActivity
{
public List<CharSequence> chat = new ArrayList<CharSequence>();
private void connect(final String ip, final int port) {
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
try {
InetAddress addr = InetAddress.getByName(ip);
SocketAddress sockaddr = new InetSocketAddress(addr.getHostAddress(), port);
catch (Exception e) {
if(tabLayout.getSelectedTabPosition() == 0){
chat.add(Html.fromHtml("<br><font color='red'>" + getString(R.string.coneccionFallida) + "</font>")); //Cuando cambio de pestaña, el texto no es mostrado en el EditText
}
else{
try{
runOnUiThread(new Runnable() {
@Override
public void run() {
secondFragment.chat.append(Html.fromHtml("<br><font color='red'>" + getString(R.string.coneccionFallida) + "</font>")); //funciona bien
}
});
}
catch(Exception e2){
}
}
}
}
});
thread.start();
}
}
SecondFragment.java:
Código:
EditText chat;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.chat, container, false);
chat = (EditText) view.findViewById(R.id.chatEditText1);
if(!((MainActivity) getActivity()).chat.isEmpty()){
appenText(((MainActivity) getActivity()).chat);
((MainActivity) getActivity()).chat.clear();
}
return view;
}
public void appenText(List<CharSequence> l){
for(int f=0; f<l.size(); f++){
chat.append(l.get(f)); //Agrega Strings pero no objetos de tipo Spanned
}
}
Gracias y saludos