我的应用程序由MapActivity
组成,它加载了一个XML视图(map_layout),其中包含MapView
和CustomView
,其中ImageView
。<登记/>
我使用以下代码设置MapActivity
:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.map_layout);
initialise();
}
然后在初始化时,我像往常一样使用MapView
从XML文件中检索CustomView
和findViewById(...)
。
在我onMeasure(...)
的{{1}}函数内,我使用CustomView
和this.getWidth()
来获取其尺寸,从而返回正确的结果。
然后在我的this.getHeight()
代码中,我决定检查GPS是否已启用(使用类似于此处第一个答案的代码:How do I find out if the GPS of an Android device is enabled),如果GPS被禁用则显示initialise()
。< / p>
问题是,AlertDialog
的{{1}}功能不再正常运行,如果onMeasure(...)
获得CustomView
和this.getWidth()
,则this.getHeight()
和AlertDialog
都会返回0显示。
为什么会这样?
感谢您的帮助,如果我的问题不清楚,我会编辑它,以便在我有机会时添加完整的代码。
答案 0 :(得分:2)
好的,出于某种原因,我需要在onLayout()
而不是onMeasure()
内获得高度和宽度。