【发布时间】:2016-05-01 17:10:11
【问题描述】:
所以我有一个试图从异步任务更新的文本视图。我想更新它以正确打印到控制台的消息但由于某种原因它不会更新文本视图。以下是相关的代码:
public class MainActivity extends AppCompatActivity{
private MqttClient client;
private String clientId = MqttClient.generateClientId();
private TextView tv;
...
我在这里声明了textview,然后在onCreate()方法中赋值:
tv = (TextView) findViewById(R.id.textView5);
然后在我的 asynctask 中,我有这个 sn-p,它会在每次将新消息发布到 MQTT 时运行:
@Override
public void messageArrived(String topic, MqttMessage message)
throws Exception {
System.out.println(message);
if(message.toString().toLowerCase().contains(str)){
Pattern regex = Pattern.compile("(\\d+(?:\\.\\d+)?)");
Matcher matcher = regex.matcher(message.toString());
while(matcher.find()){
System.out.println(matcher.group(1));
tv.setText("testing");
}
}
}
消息正确地将我想要的方式打印到控制台,但它没有更新文本视图,我不知道为什么。
【问题讨论】:
标签: android android-asynctask textview