
我的主线程从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?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)