java-为什么添加新数据后AsyncTask不自动更新GraphView?

java-为什么添加新数据后AsyncTask不自动更新GraphView?,第1张

概述我的主线程从Activity扩展,它启动了两个异步任务,这些任务从不同的UDP源收集数据.其中一项任务是将数据追加到this图形库中.我正在从AsynTask的onPostExecute部分对UI进行更新:@OverrideprotectedvoidonPostExecute(Integerresult){super.onPostExecute(result);ed

我的主线程从Activity扩展,它启动了两个异步任务,这些任务从不同的UDP源收集数据.其中一项任务是将数据追加到this图形库中.我正在从AsynTask的onPostExecute部分对UI进行更新:

@OverrIDeprotected voID onPostExecute(Integer result) {    super.onPostExecute(result);    edt2.setText(Integer.toString(result));    // Graph Update    if (graphActive) {        exampleSerIEs1.appendData(ATList.get(ATList.size()-1), true);    } else {        //do nothing    }}

数据将传递到图形,并且如果我用手指在显示屏上单击,它将正确显示,但是我希望软件自动更新图形. edt2文本字段会自动更新.

我尝试了以下方法:

layout.postInvalIDate(); //and invalIDate

我不知道如何使AndroID更新GraphVIEw.

这是XML的相应部分:

<linearLayout    xmlns:androID="http://schemas.androID.com/apk/res/androID"    androID:ID="@+ID/graph1"    androID:layout_wIDth="match_parent"    androID:layout_height="305dp" ></linearLayout>

非常感谢您的帮助!

解决方法:

AsyncTask不是Ui线程,请使用runOnUiThread(..)代替Asynctask.

1 rl-:父视图.
 2 myVIEw-:子视图

//使用此方法//

    runOnUiThread(new Runnable() {        //@OverrIDe        public voID run() {            // Todo auto-generated method stub            rl.addVIEw(new myVIEw(getApplicationContext()));        }    });
总结

以上是内存溢出为你收集整理的java-为什么添加新数据后AsyncTask不自动更新GraphView?全部内容,希望文章能够帮你解决java-为什么添加新数据后AsyncTask不自动更新GraphView?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1075269.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-26
下一篇2022-05-26

发表评论

登录后才能评论

评论列表(0条)

    保存