Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.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
Java android以编程方式重新绘制布局_Java_Android_Eclipse - Fatal编程技术网

Java android以编程方式重新绘制布局

Java android以编程方式重新绘制布局,java,android,eclipse,Java,Android,Eclipse,我的布局有时不能正确定位元素。我尝试了很多解决方案,但唯一的解决方案是从一幅肖像画旋转到另一幅风景画,然后从一幅风景画旋转到另一幅肖像画。然后自动重新绘制布局,使其完美贴合。我设置了方向|键盘,这样内容就不会重新加载,只会重新绘制。如何像风景画一样重新绘制内容?多谢各位 编辑:我尝试了以下内容,但没有效果 getWindow().getDecorView().findViewById(android.R.id.content).invalidate(); getWindow().getDecor

我的布局有时不能正确定位元素。我尝试了很多解决方案,但唯一的解决方案是从一幅肖像画旋转到另一幅风景画,然后从一幅风景画旋转到另一幅肖像画。然后自动重新绘制布局,使其完美贴合。我设置了方向|键盘,这样内容就不会重新加载,只会重新绘制。如何像风景画一样重新绘制内容?多谢各位

编辑:我尝试了以下内容,但没有效果

getWindow().getDecorView().findViewById(android.R.id.content).invalidate();
getWindow().getDecorView().findViewById(android.R.id.content).requestLayout();
活动已在onCreate
setContentView(R.layout.main)上设置了主布局

布局“main”包含一个TabHost和Admob。 布局“视图”包含一个webview(“id:myWebview”),如表1所示

而且还试图使它们无效!webview、布局主视图和布局视图以及崩溃

您是否尝试重新启动


这将重新绘制整个布局。

当屏幕方向改变时,Android将重新创建当前活动


试着打电话或打电话。否则就没有机会以编程方式重新发布视图。

请仅调用并阅读类说明以了解更多信息。

如果这是不安全或不好的做法,请纠正我。我也尝试了所有这些方法,出于绝望,我决定再次尝试调用我的onCreate,结果成功了。所以现在我将使用
onCreate(null)
在更新数据时刷新视图。同样,请让我知道这是否是不安全或不好的做法,如果可能的话,一个工作的替代方案

“有时”是什么意思?是否有任何可复制的方法来获取错误?您是否尝试过requestLayout强制重新绘制布局?你能用一些示例代码来显示你使用的是什么类型的和视图吗?你可以尝试调用
invalidate()
来强制一个视图重新绘制。这会导致调用
setContentView()
吗?在kotlin中,我直接通过Id调用布局,即
llHint.invalidate()
但它不起作用,我的意思是没有清晰的包含textview、edittext等的整个布局。
findViewById(android.R.id.content).invalidate();