Этот код находится в OnCreate в MainActivity
inflater = getLayoutInflater();
serversView = inflater.inflate(R.layout.layout_home, null, false);
test = serversView.findViewById(R.id.titleDescription);
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
try {
//some code
runOnUiThread(new Runnable() {
@Override
public void run() {
test.setText(utf8text+"mk");
Log.i(LOG_TAG,"serversView: "+ serversView + " test: "+ test + " test.getText().toString():"+ test.getText().toString());
}
});
} catch (Exception e) {
e.printStackTrace();
}
}
});
thread.start();
Использование класса Thread обязательно!Когда я регистрирую Log.i(LOG_TAG," test.getText().toString():"+ test.getText().toString());
, все в порядке, текст меняется, но в интерфейсе ничего не делается.В чем проблема?
UPD: когда я это делаю:
runOnUiThread(new Runnable() {
@Override
public void run() {
textView.setText(utf8text);
Log.i(LOG_TAG,"textView.getText: "+ textView.getText().toString());
}
});
и если textView находится в main_activity.xml, то он меняется.Но как сделать, например, использование LayoutInflater для получения и изменения TextView в другом фрагменте / упражнении?