Я пытаюсь реализовать Runnable
в своем приложении, поэтому я начал с некоторой простой процедуры, но даже это ничего не отображает на TextView
. Удивительно, но я переопределил объект run()
, но он все еще не отображается.Сложность реализации интерфейса Runnable с Activity
package com.example.filer;
public class Filesearcher extends Activity implements Runnable {
TextView tvtis;
Thread tr;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_filesearcher);
tvtis = (TextView) findViewById(R.id.tvfirst);
tr = new Thread();
tr.start();
}
@Override
public void run() {
// TODO Auto-generated method stub
try {
Thread.sleep(5000);
tvtis.setText("Started");
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Вы не должны быть пытаясь коснуться представлений из любого другого потока, кроме основного/потока пользовательского интерфейса. Если вы хотите обновить представление во время выполнения какой-либо работы или после завершения работы, используйте «AsyncTask». Я предлагаю вам [немного прочитать] (http://developer.android.com/guide/components/processes-and-threads.html#Threads). –
Вы не можете получить доступ к элементам Ui в Android вне основной темы. –