В logcat ничего не отображается, хотя я ввел Log.i (splashText) внутри onDraw.

р довольно прост: я хочу, чтобы пользователь знал о том, что делает приложение, просто показывая текст (canvas.drawText ()). Затем появляется мое первое сообщение, но не другие. Я имею в виду, у меня есть метод "setText", но он не обновляется.

onCreate(Bundle bundle) {
    super.onCreate(bundle);
    setContentView(splash); // splash is the view class
    loadResources();
    splash.setText("this");
    boundWebService();
    splash.setText("that"):
    etc();
    splash.setText("so on");
}

Рисование текста в представлении работает, просто делая drawText в onDraw () ;, так что setText изменяет текст, но не показывает его.

Кто-то порекомендовал мне заменить представление на SurfaceView, но было бы много проблем только для пары обновлений, ТАК ... как, черт возьми, я могу динамически обновлять представление во время выполнения?

Это должно быть довольно просто, просто показывая текст, скажем, 2 секунды, а затем основной поток делает его вещи, а затем обновляет текст ...

Спасибо!

Обновить:

Я попытался реализовать handler.onPost (), но это та же самая история снова и снова. Позвольте мне поставить вам код:

public class ThreadViewTestActivity extends Activity {

Thread t;
Splash splash;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    splash = new Splash(this);
    t = new Thread(splash);
    t.start();

    splash.setTextow("OA");
    try { Thread.sleep(4000); } catch (InterruptedException e) { }
    splash.setTextow("LALA");
}       
}

А также:

public class Splash implements Runnable {

Activity activity;
final Handler myHandler = new Handler();

public Splash(Activity activity) {
    this.activity=activity;
}   

@Override
public void run() {
    // TODO Auto-generated method stub

}

public synchronized void setTextow(final String textow) {
    // Wrap DownloadTask into another Runnable to track the statistics
    myHandler.post(new Runnable() {
        @Override
        public void run() {
            TextView t = (TextView)activity.findViewById(R.id.testo);
            t.setText(textow);
            t.invalidate(); 
        }                   
    });
}
}

Хотя splash находится в другом потоке, я помещаю спящий режим в основной поток, я использую обработчик для управления пользовательским интерфейсом и всем остальным, он ничего не меняет, он показывает только последнее обновление.

Ответы на вопрос(1)

Ваш ответ на вопрос