Android画布未更新或无效

Android画布未更新或无效,android,canvas,Android,Canvas,我的资产文件夹中有newgame.txt文件。我在loadboard()方法的字符数组(cboard)中读取了这个文件。然后根据cboardarray中的值填充Pboardarray(碎片数组、逻辑数组)和fillboard()中的bmp数组(位图数组、物理板)。我有另一个函数populate(),它在画布上绘制位图图像。我已经更新了物理数组(bmp)和逻辑数组(Pboard)。调用updateBoard()my logical arrayPboard和physical arraybmp后会更新

我的资产文件夹中有newgame.txt文件。我在
loadboard()方法的字符数组(cboard)中读取了这个文件。然后根据
cboard
array中的值填充
Pboard
array(碎片数组、逻辑数组)和
fillboard()中的bmp数组(位图数组、物理板)。我有另一个函数
populate()
,它在画布上绘制位图图像。我已经更新了物理数组(bmp)和逻辑数组(
Pboard
)。调用
updateBoard()
my logical array
Pboard
和physical array
bmp
后会更新,但当我在画布上绘制它时,它具有旧的配置。下面是我对
loadboard()、fillboard()、populate
函数的调用

@Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        // TODO Auto-generated method stub
    //  super.onMeasure(widthMeasureSpec, heightMeasureSpec);
        width=View.MeasureSpec.getSize(widthMeasureSpec);
        height=View.MeasureSpec.getSize(heightMeasureSpec);
        setMeasuredDimension(width, height);`
        b=Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
        c=new Canvas(b);

       loadboard();
           fillBoard();
       calculateLinePlacement();
       drawBoard();
           // method draw the board and bitmap images ( call populate()).


    }
updateBoard()
函数之后,我调用
invalidate()

编辑1:

以下是
updateBoard()
方法(从commnet复制):


您从哪里调用
updateBoard()
方法?@Praful Bhatnagar。。我在ontouchevent中调用updateBoard(),然后调用这个.invalidate()。。。我的位图数组(bmp)和块数组(Pboard)都已更新,但未在画布上绘制..请尝试postInvalidate()…我已尝试postInvalidate()…是否可以显示更多代码
onDraw()
updateBoard()方法。。
public void updateBoard(int sr, int sc, int er, int ec) {
Pboard[sr][sc] = new Empty(sr, sc, -3, "empty", board);
Pboard[er][ec] = selectedp;
Bitmap img = bmp[sr][sc];
bmp[sr][sc] = null;
bmp[er][ec] = null;
bmp[er][ec] = img;
}