Я использую один из примеров для приложения совместимости v4. Я заметил, что в этой части:
mPosition++;
max = mProgressBar.getMax();
mProgressBar.setProgress(mPosition);
, если я добавлю TextView.setText()
:
mPosition++;
max = mProgressBar.getMax();
mProgressBar.setProgress(mPosition);
mStatus.setText(String.valueOf(max)); // here, just to test stuff!
сдается со следующим исключением:
01-29 18:55:08.889: W/dalvikvm(14565): threadid=11: thread exiting with uncaught exception (group=0x40a791f8)
01-29 18:55:08.889: E/AndroidRuntime(14565): FATAL EXCEPTION: Thread-1035
01-29 18:55:08.889: E/AndroidRuntime(14565): android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
01-29 18:55:08.889: E/AndroidRuntime(14565): at android.view.ViewRootImpl.checkThread(ViewRootImpl.java:3939)
01-29 18:55:08.889: E/AndroidRuntime(14565): at android.view.ViewRootImpl.requestLayout(ViewRootImpl.java:701)
01-29 18:55:08.889: E/AndroidRuntime(14565): at android.view.View.requestLayout(View.java:12555)
01-29 18:55:08.889: E/AndroidRuntime(14565): at android.view.View.requestLayout(View.java:12555)
01-29 18:55:08.889: E/AndroidRuntime(14565): at android.view.View.requestLayout(View.java:12555)
01-29 18:55:08.889: E/AndroidRuntime(14565): at android.view.View.requestLayout(View.java:12555)
01-29 18:55:08.889: E/AndroidRuntime(14565): at android.view.View.requestLayout(View.java:12555)
01-29 18:55:08.889: E/AndroidRuntime(14565): at android.widget.RelativeLayout.requestLayout(RelativeLayout.java:268)
01-29 18:55:08.889: E/AndroidRuntime(14565): at android.view.View.requestLayout(View.java:12555)
01-29 18:55:08.889: E/AndroidRuntime(14565): at android.widget.TextView.checkForRelayout(TextView.java:6716)
01-29 18:55:08.889: E/AndroidRuntime(14565): at android.widget.TextView.setText(TextView.java:3256)
01-29 18:55:08.889: E/AndroidRuntime(14565): at android.widget.TextView.setText(TextView.java:3110)
01-29 18:55:08.889: E/AndroidRuntime(14565): at android.widget.TextView.setText(TextView.java:3085)
01-29 18:55:08.889: E/AndroidRuntime(14565): at com.mytest.ui.PreActivity$RetainedFragment$1.run(PreActivity.java:111)
Почему это происходит? Или еще лучше, как мне адаптировать пример документа, чтобы использовать TextView
вместо ProgressView
?