Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android webview未正确更新_Android_Html_Html5 Canvas - Fatal编程技术网

android webview未正确更新

android webview未正确更新,android,html,html5-canvas,Android,Html,Html5 Canvas,我正在开发一个使用html5画布的游戏,我正在使用android webview来显示它。我使用OnTouchListener获取触摸事件,并将其传递给javascript方法。为此,我使用view.loadUrljavascript:functionName调用javascript方法 现在,对于每个onTouch事件,我用触摸事件x和y坐标调用js中的drawline方法。但是,始终只绘制前几行,之后,即使我在屏幕上移动手指,在触摸事件完成之前,也不会绘制任何内容。触摸事件完成后,所有行将立

我正在开发一个使用html5画布的游戏,我正在使用android webview来显示它。我使用OnTouchListener获取触摸事件,并将其传递给javascript方法。为此,我使用view.loadUrljavascript:functionName调用javascript方法

现在,对于每个onTouch事件,我用触摸事件x和y坐标调用js中的drawline方法。但是,始终只绘制前几行,之后,即使我在屏幕上移动手指,在触摸事件完成之前,也不会绘制任何内容。触摸事件完成后,所有行将立即显示

从结果中,我可以得出结论,当所有线都正确绘制时,使用正确的x,y值调用我的js方法,但webview不会更新,因为移动手指时没有绘制线

是否存在强制webview在某个时间间隔内更新视图的api。提前谢谢

class myTouchListener implements OnTouchListener{

    public boolean onTouch(View v, MotionEvent event) {
        ZentriangleActivity.zWebView.loadUrl("javascript:drawline("+(int)event.getX()+","+(int)event.getY()+")");
        return false;
    }   
}

myWebView.setOnTouchListener(new myTouchListener());
在js代码中


请添加您现在拥有的代码示例?您是否已使用MotionEvent.ACTION\u移动发送x,y坐标?谢谢您的评论。我已经添加了我的测试代码。从代码中可以看出,应该为触发的每个触摸事件绘制一条线。但正如我前面所说的,drawline方法被正确调用,但是视图没有更新。当我开始在屏幕上移动手指时,只会画出前几行,然后在触摸事件结束之前什么都不会发生。。。当我把手指从屏幕上移开时,突然所有的线条都显示出来了。你找到解决办法了吗?我也有类似的问题。。我想这是一个线程问题。不知道loadUrl方法是如何实现的。看起来,它正在阻止onTouch方法,并且不会返回。现在,我将在一个单独的线程中调用loadurl,看看会发生什么。也许我们需要深入研究一下android代码。
function drawline(x,y){
    ctx.beginPath();
    ctx.moveTo(25,25);
    ctx.lineTo(x,y);
    ctx.stroke();
}