子程序里如何给TextView赋值?
ddlgg 2017-12-15 04:35:52 大家好:
btnOpen.setOnClickListener(new OnClickListener() {
// @Override
public void onClick(View v) {
txt.setText("测试"); //------------------TextView能正常显示。
handler.postDelayed(task, 1000);//延迟调用
}
});
task子程序里,读取完数据后,也执行了txt.setText(person.toString());但报错,TextView不能正常赋值。
请教大神怎么在子程序中给TextView赋值?
错误代码:
12-15 16:30:10.372 23602-23998/com.example.foolishfan.user_v10 E/AndroidRuntime: FATAL EXCEPTION: Thread-29027
Process: com.example.foolishfan.user_v10, PID: 23602
android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
at android.view.ViewRootImpl.checkThread(ViewRootImpl.java:6593)
at android.view.ViewRootImpl.invalidateChildInParent(ViewRootImpl.java:966)
at android.view.ViewGroup.invalidateChild(ViewGroup.java:5082)
at android.view.View.invalidateInternal(View.java:12730)
at android.view.View.invalidate(View.java:12694)
at android.view.View.invalidate(View.java:12678)
at android.widget.TextView.checkForRelayout(TextView.java:7168)
at android.widget.TextView.setText(TextView.java:4357)
at android.widget.TextView.setText(TextView.java:4214)
at android.widget.TextView.setText(TextView.java:4189)
at com.example.foolishfan.user_v10.User$2$1.run(User.java:72)
at java.lang.Thread.run(Thread.java:818)
12-15 16:30:10.415 23602-23998/com.example.foolishfan.user_v10 I/Process: Sending signal. PID: 23602 SIG: 9