如题。
在activity中能不能调用一个方法,让相应的view刷新?直接new view().invalidate();不可以。如果
new view().onDraw(new canvas());这样也不行。

解决方案 »

  1.   

    直接调想刷新的View的invalidate() 不可以?
      

  2.   


    handler我不会用,能教教我不?
      

  3.   

    你要是View就用invalidate();不会不刷新的,有可能刷新了你没看出来
    你要是用SurfaceView就自写个Draw()函数,需要的时候就调用这个draw就行了
      

  4.   

    好吧,我自己去看handler的API去。在view中调用invalidate();确实可以。我需要在另外的一个activity中刷新另外的一个view。
    这就不知道该怎么做了。
    楼上的哥们说用handler,嗯,handler可以。但是我不会用啊。
    有高手给说下用handler的注意事项什么的白。
      

  5.   


    如果是简单的绘图刷新就没必要用handler了,使用view.postInvalidate()试试。
      

  6.   

    我在activity1中setContentView(R.layout.main);
    然后new view1().postInvalidate()
    view1不刷新。怎么才能让它刷新。
      

  7.   

    你在activity里面申请界面刷新,这个申请是在UI主线程里发出的,此时不用postInvalidate();同时你显示的是main.xml。此时并没有显示view对象,所以用invalidate()也应该不行。
    1.将setcontentview的类容设置为view,这个时候想终会画面的话,就view.invalidate()就行了。
    2.想体验一下postInvalidate的话,就需要启动另外一个线程,把UI主线程setcontentview的view对象传给该线程,在改子线程中执行view.postInvalidate()就可以重绘画面了。
      

  8.   

    通过View内部新建方法,调用invalidate(),在外部引用该方法试试。