我在更新时遇到问题TextView
,我使用 Handler 方法将消息传递给 UI。我的应用程序接收数据(整数类型)真正的 io 流并显示在TextView
.
我的 Activity 类如下所示:
public class DeviceView extends Activity {
TextView dataX;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.device_view);
dataX = (TextView) findViewById(R.id.datax);
handler = new Handler() {
@Override
public void handleMessage(Message msg) {
dataX.setText(String.valueOf(msg.arg1));
}
};
}
}
我还有一个单独的类,它扩展了 Thread:
public class IOThread extends Thread {
public void run() {
byte[] buffer = new byte[1024];
int data;
while (true) {
try {
data = in.read(buffer);
Message message= Message.obtain();
message.arg1= data;
DeviceView.handler.sendMessage(message);
} catch (IOException ex) {
break;
}
}
}
}
我是否必须创建一个单独的变量类型String
并将其指向变量数据并最后调用计数?这足以更新TextView
吗?