2012-07-16 67 views
0

我的項目實際上有很多行代碼,所以我只會在這裏包括重要的東西來保存你。我希望這是足夠的信息來解決問題。我如何在一個按鈕上按一個矩形畫布(Android?)

我有兩個主要類:'GraphView'類,然後是主Activity的代碼。在GraphView中,我創建了一個函數,它本質上是在畫布上繪製一個矩形。它被稱爲drawPixel。在GraphView的onDraw方法中,我多次調用drawPixel,並在屏幕上繪製矩形。現在,在主代碼中,我編程創建了一個佈局和一個按鈕。我想要的是,我不想在GraphView的onDraw方法中調用drawPixel,而是在單擊按鈕時繪製這些矩形。我試過這樣做:

someButton.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     Canvas canvas = new Canvas(); 
     // TODO Auto-generated method stub 
      for (int i=1; i<50; i++) { 
       someGraphView.drawPixel(canvas, i, i); 
      } 
     } 
}); 

它沒有工作。當我通過onDraw()調用時,矩形繪製正確,但是當我從setOnClickListener方法內部調用它們時,它們不會繪製。有誰知道我做錯了什麼?

回答

1

一旦你寫的視圖調用invalidate()。